8-Bit Software Online Conversion

Pricing codes - Listing

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