10:
20:
30:
40*|" STOP! STOP!
ARE YOU LISTING THIS TO CHEAT?
SHAME ON YOU!!!!!
50:
60:
70:
80*|" ON A BBC+ JULY 1993
90*|" PROGRAM AND IDEA BY
RUSHDEN ROY
(A 'L PLATE' PROGRAMMER)
FOR
8-BIT SOFTWARE DISC MAGAZINE
100ON ERROR PROCerr:END
110MODE7:CLS:VDU23,1,0;0;0;0;:PRINT
120ENVELOPE1,1,0,0,0,0,0,0,-126,-2,0,-
1,126,80
130PROCROY:PRINT'
140PROCdh("Can you........",134)
150PROCdh(" crack the shopkeeper
s code?",134):PRINT
160PROCdh(" Anagrams.",13
4)
170PROCdh(" ( With a difference
.)",134)
180PROCspacebar
190CLS
200PRINT
210PROCdh(" THE SHOPKEEPERS COD
E.",131)
220prt$="`````````````````````":PROCpr
int(3,131)
230prt$="Some shopkeepers use a code w
ord on":PROCprint(4,134)
240prt$="their price tickets to help t
hem":PROCprint(5,134)
250prt$="remember the wholesale price
(what":PROCprint(6,134)
260prt$="they paid for the item) or pe
rhaps":PROCprint(7,134)
270prt$="say, in a antique shop, the h
aggling":PROCprint(8,134)
280prt$="price (the lowest price they
are ":PROCprint(9,134)
290prt$="prepared to go down to). If
you take ":PROCprint(10,134)
300prt$="a note of the letters and the
price":PROCprint(11,134)
310prt$="of several tickets you can s
ometimes":PROCprint(12,134)
320prt$="find out the shopkeepers secr
et code.":PROCprint(13,134)
330prt$="With this game/puzzle you wil
l see":PROCprint(14,133)
340prt$="some 'price tickets' with let
ters":PROCprint(15,133)
350prt$="and your aim is to find the c
ode word.":PROCprint(16,133)
360prt$="Twenty different (shown at ra
ndom)":PROCprint(17,132)
370prt$="words with max. points is you
r target.":PROCprint(18,132)
380prt$="There will be extra clues tha
t cost ten":PROCprint(19,130)
390prt$="points each. One will be a cr
ossword ":PROCprint(20,130)
400prt$="puzzle type or a simple maths
clue.":PROCprint(21,130)
410PROCspacebar
420PRINT
430PROCdh(" A few tips to help
.",131)
440prt$="`````````````````````":PROCpr
int(3,131)
450prt$="The more different letters th
ere are":PROCprint(4,130)
460prt$="(max.ten) the easier it will
be.":PROCprint(5,130)
470prt$="Concentrate on the pounds fir
st.":PROCprint(7,130)
480prt$="It is better if the pound dig
its are":PROCprint(9,130)
490prt$="low as it helps you to work o
ut the":PROCprint(10,130)
500prt$="first part of the ten letter
word.":PROCprint(11,130)
510prt$="Remember the code letters wil
l be":PROCprint(13,130)
520prt$="'lower' than the price.":PROC
print(14,130)
530prt$="Good old paper and pencil wil
l help.":PROCprint(16,130)
540prt$="If after the last clue you st
ill have":PROCprint(18,130)
550prt$="not guessed the word then ski
p it":PROCprint(19,130)
560prt$="and go on to another one. You
may have":PROCprint(20,130)
570prt$="a better show of letters next
time.":PROCprint(21,130)
580PROCspacebar
590CLEAR
600DIMN$(10)
610CLS:VDU23,1,1;0;0;0;
620PROCsetitup
630PROCansw1("2, You have spotted anot
her ticket")
640PROCansw2("3, .....and another tick
et")
650PROCansw3(percLes,"% mark up.")
660PROCansw4
670END
680DEFPROCprint(line%,color%)
690PRINT TAB(((40-LENprt$)/2),line%);C
HR$color%;prt$:ENDPROC
700DEFPROCspacebar
710a$=""+CHR$129+CHR$157+CHR$131+"PRES
S THE SPACE BAR "+CHR$156+CHR$13
720PRINT TAB(8,23)a$
730*FX 15,1
740*FX11,0
750REPEAT UNTIL GET=32:CLS
760ENDPROC
770DEFPROCdh(text$,color%):PRINTCHR$co
lor%;CHR$141+text$'CHR$color%;CHR$141+te
xt$
780ENDPROC
790DEFPROCROY
800PRINT" IDEA AND PRO
GRAM £££££"
810PRINT"
k 7e757£k"
820PRINT"
s550!5u0£5"
830PRINT" BY
p5u7t5upp5"
840PRINT'" (This version)"
850PRINT" FOR 8-BIT SOFTWARE"
860PRINT" DISC MAGAZINE"
870ENDPROC
880ENVELOPE1,1,0,0,0,0,0,0,-126,-2,0,-
1,126,80
890DEF PROCsetitup
900@%=&90A
910rando%=RND(20)
920IFrando%=1THEN PROCa
930IFrando%=2THEN PROCb
940IFrando%=3THEN PROCc
950IFrando%=4THEN PROCd
960IFrando%=5THEN PROCe
970IFrando%=6THEN PROCf
980IFrando%=7THEN PROCg
990IFrando%=8THEN PROCh
1000IFrando%=9THEN PROCi
1010IFrando%=10THEN PROCj
1020IFrando%=11THEN PROCk
1030IFrando%=12THEN PROCl
1040IFrando%=13THEN PROCm
1050IFrando%=14THEN PROCn
1060IFrando%=15THEN PROCo
1070IFrando%=16THEN PROCp
1080IFrando%=17THEN PROCq
1090IFrando%=18THEN PROCr
1100IFrando%=19THEN PROCs
1110IFrando%=20THEN PROCt
1120PRINT
1130Q$=(N$(1)+N$(2)+N$(3)+N$(4)+N$(5)+N
$(6)+N$(7)+N$(8)+N$(9)+N$(0))
1140perc=(4+RND(10))+100
1150percLes=perc-100
1160sc%=40
1170PRINTTAB(0,0);CHR$129;CHR$157;CHR$1
34;" Price tickets with the code below."
:PRINTTAB(2,1);CHR$147;STRING$(6,"p");SP
C3;STRING$(6,"p");SPC3;STRING$(6,"p");SP
C3;STRING$(6,"p")
1180PROCrand(0,2):PROCrand(9,2):PROCran
d(18,2):PROCrand(0,5):PROCrand(9,5):PROC
rand(18,5)
1190PRINTTAB(2,4);CHR$147;STRING$(6,"s"
)SPC3;STRING$(6,"s");SPC3;STRING$(6,"s")
;SPC3;STRING$(6,"s")
1200PRINTTAB(2,7);CHR$147;"££££££ £££
£££ ££££££ ££££££ "
1210 PRINTTAB(0,8)CHR$134CHR$157CHR$13
2;"One clue free others cost 10 points";
TAB(6,9);CHR$147"8,,,d <,,,d h ,,l
,,$"
1220PRINTTAB(0,10)CHR$134CHR$157CHR$132
;"1, The pence unit is the last letter";
TAB(6,11);CHR$147"5 j 5 j j
j"
1230ENDPROC
1240DEF PROCansw1(S$)
1250PROCask:PROCwrong1
1260IF yes$="Y"OR yes$="y" THEN PRINTTA
B(0,12)CHR$134CHR$157CHR$132;S$:PRINTTAB
(6,13);CHR$147"9,,,f ,,, =,,,f j j S
OFTWARE":PROCrand(27,2):PROCscore ELSE P
ROCansw1(S$)
1270ENDPROC
1280DEF PROCansw2(P$)
1290PROCask:PROCwrong1
1300IF yes$="Y"OR yes$="y" THEN PRINTTA
B(0,14)CHR$134CHR$157CHR$132;P$:PRINTTAB
(6,15);CHR$147"5 j 5 j j j V
ERSION":PROCrand(27,5):PROCscore ELSE PR
OCansw1(S$)
1310ENDPROC
1320DEF PROCansw3(percLes,C$)
1330PROCask:PROCwrong1
1340@%=&90A
1350IF yes$="Y"OR yes$="y" THEN PRINTTA
B(0,16)CHR$134CHR$157CHR$132;"4, There i
s a approx.";percLes;C$:PROCscore ELSE P
ROCansw3(percLes,"% mark up.")
1360PRINTTAB(0,17)CHR$134CHR$157CHR$132
;" That is the last clue!"
1370PRINTTAB(6,18);CHR$147"),,,&
-,,,& * *"
1380rndcross=RND(3)
1390IF rndcross=2 OR rndcross=3 THEN PR
OCcross
1400ENDPROC
1410DEF PROCcross
1420IF rando%=8OR rando%=10THEN PRINT T
AB(3,16)"4, Would this be to do with far
ming?"
1430IF rando%=1THEN PRINT TAB(3,16)"4,
This one bellows a lot! "
1440IF rando%=5 OR rando%=18THEN PRINT
TAB(3,16)"4, Not usually during the day.
"
1450IF rando%=20THEN PRINT TAB(3,16)"4,
The complicated one with a X. "
1460IF rando%= 2THEN PRINT TAB(3,16)"4,
Is this cupboards or computers ?"
1470IF rando%=14 OR rando%=15 OR rando%
=11 THEN PRINT TAB(3,16)"4, Terra firma
is part of it. "
1480IF rando%=12 OR rando%=13 THEN PRIN
T TAB(3,16)"4, Would this be to do with
money ? "
1490IF rando%=6 OR rando%=7 OR rando%=1
9 THEN PRINT TAB(3,16)"4, Eight = I and
nine = N. "
1500PRINTTAB(0,17)CHR$134CHR$157CHR$132
;" That is the last clue!"
1510 PRINTTAB(6,18);CHR$147"),,,&
-,,,& * *"
1520ENDPROC
1530DEF PROCansw4
1540PROCask:PROCwrong2
1550IF yes$="Y"OR yes$="y" THEN GOTO590
ELSE PROCansw4:ENDPROC
1560DEF PROCask
1570 *FX20,0
1580 PRINTTAB(0,23)STRING$(39," ")
1590 PRINTTAB(0,21)STRING$(14," ")
1600 PRINTTAB(0,19)CHR$129CHR$157CHR$13
1;" Type in the ten letter code word"
1610 @%=&90A:PRINTTAB(0,20)CHR$129CHR$
157CHR$131;" then press RETURN."CHR$134;
" (Score=";sc%;")"
1620PRINT
1630Z$=FNgetstr(10,"??????????")
1640 PRINTTAB(21,22)STRING$(14," ")
1650 PRINTTAB(23,22);Z$
1660IF Z$=Q$ THEN PROCgotit
1670ENDPROC
1680DEF PROCwrong1
1690SOUND1,1,180,1:FOR T=1 TO 400:NEXT:
SOUND1,1,180,1
1700IF Z$<>Q$ THEN PRINTTAB(0,23);CHR$1
30;"Wrong, do you want a clue? Press Y/N
";:yes$=GET$
1710ENDPROC
1720DEF PROCwrong2
1730SOUND1,1,180,1:FOR T=1 TO 400:NEXT:
SOUND2,1,179,1:FOR T=1 TO 400:NEXT:SOUND
1,1,180,1
1740VDU23,1,0;0;0;0;
1750IF Z$<>Q$ THEN PRINTTAB(0,23);CHR$1
30;"Wrong, want a"CHR$136"new code word?
"CHR$137"Press Y/N":yes$=GET$
1760VDU23,1,1;0;0;0;
1770ENDPROC
1780DEF PROCrand(x,y)
1790@%=&20209
1800r1=RND(9):r2=RND(9)
1810PRINTTAB(x,y)CHR$132;CHR$157;CHR$13
4;"£";(r2+(r1*10))*perc/1000;" "
1820PRINTTAB(x,y+1)CHR$132;CHR$157;CHR$
129;" "N$(r1);"."N$(r2);N$(0)" ":ENDPROC
1830DEF PROCscore
1840@%=&90A :sc%=sc%-10:ENDPROC
1850DEF FNgetstr(len,word$)
1860LOCAL R%,D%,D$
1870PRINTCHR$133" (";word$;
1880PRINT SPC(len-LENword$);
1890PRINT")";STRING$(len+1,CHR$8);
1900D%=0:REPEAT:R%=GET
1910IF R%<>127 THEN GOTO1940
1920IF D% <>0 THEN VDU127:D%=D%-1:D$=LE
FT$(D$,D%):ELSE SOUND1,1,180,1
1930GOTO 1970
1940IF R%=13 THEN 1970
1950IF D%=0 THEN PRINT SPClen;STRING$(l
en,CHR$8);
1960IF D%<>len THEN D%=D%+1:D$=D$+CHR$R
%:VDU R%:ELSE SOUND1,1,180,1
1970UNTIL R%=13
1980IF D%=0 THEN =word$:ELSE =D$
1990DEF PROCfan
2000FOR P%=2 TO 6 STEP2
2010SOUND1,-15,60,P%:SOUND1,-15,75,P%:S
OUND1,-15,85,P%:NEXT:ENDPROC
2020DEF PROCgotit:PRINTTAB(0,19);CHR$12
9;CHR$157;CHR$134;CHR$136;"GOT IT!"CHR$1
37;"Well done, ";sc%;" points scored"
2030VDU23,1,0;0;0;0;
2040PRINTTAB(0,20);CHR$129;CHR$157;CHR$
134;" PRESS SPACE TO RUN AGAIN ":
PROCfan:REPEAT UNTIL GET=32:CLS:GOTO 590
:ENDPROC
2050DEF PROCa:N$(2)=CHR$&4C:N$(3)=CHR$6
5:N$(4)=CHR$&43:N$(0)=CHR$72:N$(9)=CHR$&
54:N$(8)=CHR$&49:N$(1)=CHR$&42:N$(7)=CHR
$77:N$(6)=CHR$&53:N$(5)=CHR$&4B:ENDPROC
2060DEF PROCb:N$(2)=CHR$&48:N$(3)=CHR$&
49:N$(4)=CHR$&50:N$(0)=CHR$83:N$(9)=CHR$
&44:N$(8)=CHR$82:N$(1)=CHR$&43:N$(7)=CHR
$65:N$(6)=CHR$&4F:N$(5)=CHR$&42:ENDPROC
2070DEF PROCc:N$(2)=CHR$69:N$(3)=CHR$84
:N$(4)=CHR$65:N$(0)=CHR$83:N$(9)=CHR$75:
N$(8)=CHR$82:N$(1)=CHR$77:N$(7)=CHR$79:N
$(6)=CHR$87:N$(5)=CHR$76:ENDPROC
2080DEF PROCd:N$(2)=CHR$73:N$(3)=CHR$83
:N$(4)=CHR$72:N$(0)=CHR$82:N$(9)=CHR$69:
N$(8)=CHR$71:N$(1)=CHR$70:N$(7)=CHR$78:N
$(6)=CHR$79:N$(5)=CHR$77:ENDPROC
2090DEF PROCe:N$(2)=CHR$73:N$(3)=CHR$71
:N$(4)=CHR$72:N$(0)=CHR$83:N$(9)=CHR$66:
N$(8)=CHR$85:N$(1)=CHR$78:N$(7)=CHR$76:N
$(6)=CHR$67:N$(5)=CHR$84:ENDPROC
2100DEF PROCf:N$(2)=CHR$&4C:N$(3)=CHR$6
5:N$(4)=CHR$&53:N$(0)=CHR$71:N$(9)=CHR$&
4E:N$(8)=CHR$&49:N$(1)=CHR$&50:N$(7)=CHR
$82:N$(6)=CHR$&45:N$(5)=CHR$&54:ENDPROC
2110DEF PROCg:N$(2)=CHR$&41:N$(3)=CHR$6
8:N$(4)=CHR$&4C:N$(0)=CHR$71:N$(9)=CHR$&
4E:N$(8)=CHR$&49:N$(1)=CHR$&50:N$(7)=CHR
$75:N$(6)=CHR$&43:N$(5)=CHR$&4F:ENDPROC
2120DEF PROCh:N$(2)=CHR$&49:N$(3)=CHR$8
4:N$(4)=CHR$&43:N$(0)=CHR$83:N$(9)=CHR$&
4B:N$(8)=CHR$&52:N$(1)=CHR$&50:N$(7)=CHR
$79:N$(6)=CHR$&46:N$(5)=CHR$&48:ENDPROC
2130DEF PROCi:N$(2)=CHR$&49:N$(3)=CHR$&
46:N$(4)=CHR$&45:N$(0)=CHR$&53:N$(9)=CHR
$&44:N$(8)=CHR$&52:N$(1)=CHR$&4C:N$(7)=C
HR$&41:N$(6)=CHR$&55:N$(5)=CHR$&47:ENDPR
OC
2140DEF PROCj:N$(2)=CHR$&41:N$(3)=CHR$&
52:N$(4)=CHR$&56:N$(0)=CHR$&47:N$(9)=CHR
$&4E:N$(8)=CHR$&49:N$(1)=CHR$&48:N$(7)=C
HR$&54:N$(6)=CHR$&53:N$(5)=CHR$&45:ENDPR
OC
2150DEF PROCk:N$(2)=CHR$&41:N$(3)=CHR$&
43:N$(4)=CHR$&4B:N$(0)=CHR$&44:N$(9)=CHR
$&4E:N$(8)=CHR$&55:N$(1)=CHR$&42:N$(7)=C
HR$&4F:N$(6)=CHR$&52:N$(5)=CHR$&47:ENDPR
OC
2160DEF PROCl:N$(2)=CHR$&55:N$(3)=CHR$8
2:N$(4)=CHR$&43:N$(0)=CHR$71:N$(9)=CHR$&
4E:N$(8)=CHR$&49:N$(1)=CHR$&50:N$(7)=CHR
$83:N$(6)=CHR$&41:N$(5)=CHR$&48:ENDPROC
2170DEF PROCm:N$(2)=CHR$&4F:N$(3)=CHR$8
5:N$(4)=CHR$&4E:N$(0)=CHR$82:N$(9)=CHR$&
45:N$(8)=CHR$&56:N$(1)=CHR$&50:N$(7)=CHR
$65:N$(6)=CHR$&53:N$(5)=CHR$&44:ENDPROC
2180DEF PROCn:N$(2)=CHR$&41:N$(3)=CHR$&
52:N$(4)=CHR$&54:N$(0)=CHR$&44:N$(9)=CHR
$&4E:N$(8)=CHR$&55:N$(1)=CHR$&45:N$(7)=C
HR$&4F:N$(6)=CHR$&42:N$(5)=CHR$&48:ENDPR
OC
2190DEF PROCo:N$(2)=CHR$&4F:N$(3)=CHR$&
54:N$(4)=CHR$&48:N$(0)=CHR$&44:N$(9)=CHR
$&4E:N$(8)=CHR$&41:N$(1)=CHR$&4D:N$(7)=C
HR$&4C:N$(6)=CHR$&52:N$(5)=CHR$&45:ENDPR
OC
2200DEF PROCp:N$(2)=CHR$&54:N$(3)=CHR$&
4F:N$(4)=CHR$&43:N$(0)=CHR$&44:N$(9)=CHR
$&45:N$(8)=CHR$&4C:N$(1)=CHR$&53:N$(7)=C
HR$&49:N$(6)=CHR$&50:N$(5)=CHR$&4B:ENDPR
OC
2210DEF PROCq:N$(2)=CHR$&45:N$(3)=CHR$&
44:N$(4)=CHR$&55:N$(0)=CHR$83:N$(9)=CHR$
&4E:N$(8)=CHR$79:N$(1)=CHR$&52:N$(7)=CHR
$73:N$(6)=CHR$&54:N$(5)=CHR$&43:ENDPROC
2220DEF PROCr:N$(2)=CHR$&49:N$(3)=CHR$&
47:N$(4)=CHR$72:N$(0)=CHR$83:N$(9)=CHR$&
45:N$(8)=CHR$&52:N$(1)=CHR$&4E:N$(7)=CHR
$65:N$(6)=CHR$&4D:N$(5)=CHR$&54:ENDPROC
2230DEF PROCs:N$(2)=CHR$&41:N$(3)=CHR$8
2:N$(4)=CHR$&4C:N$(0)=CHR$83:N$(9)=CHR$&
4E:N$(8)=CHR$73:N$(1)=CHR$&48:N$(7)=CHR$
&55:N$(6)=CHR$&51:N$(5)=CHR$&45:ENDPROC
2240DEF PROCt:N$(2)=CHR$79:N$(3)=CHR$&4
D:N$(4)=CHR$80:N$(0)=CHR$89:N$(9)=CHR$&5
4:N$(8)=CHR$&49:N$(1)=CHR$&43:N$(7)=CHR$
&58:N$(6)=CHR$&45:N$(5)=CHR$&4C:ENDPROC
2250DEF PROCerr
2260IFERR=17:CLS:PRINT TAB(19,12)"BYE"
2270*FX 12,0
2280VDU 23,1,1;0;0;0;
2290IF ERR<> 17 THEN REPORT:PRINT" at l
ine ";ERL
2300ENDPROC