8-Bit Software Online Conversion

Shopping - Listing

10: 20: 30: 40: 50REM" PROGRAM AND IDEA BY RUSHDEN ROY A'L PLATE'PROGRAMMER FOR 8BIT SOFTWARE. 60: 70REM" MASTER 128 DEC 1993 80ON ERROR:PROCerror:END 90MODE7 100VDU 23,1,0;0;0;0; 110PRINT 120PROCROY 130PROCdh(6,12,1,"Shopping and the") 140PROCdh(6,14,1,"minor irritations.") 150PROCdh(6,16,1,"(Beware of the Traff ic Warden!)") 160PROCSP 170PROCdh(1,2,1,"SHOPPING WITH A TIME LIMIT.") 180PROCdh(1,4,1,"------------") 190PROCdh(3,6,0,"You intend to nip in and out of a") 200PROCdh(3,7,0,"supermarket to get a few items...") 210PROCdh(3,8,0,"it will take only a m inute or two you") 220PROCdh(3,9,0,"reckon and then back to your car.") 230PROCdh(6,11,0,"BUT...in fifteen sta ges you will find") 240PROCdh(6,12,0,"that things are not so straight") 250PROCdh(6,13,0,"foward as you had ho ped.") 260PROCdh(2,15,0,"At each stage you wi ll use 1, 3 or 5") 270PROCdh(2,16,0,"minutes of your 45 m in. limit.") 280PROCdh(4,18,0,"You can gamble but b e careful because") 290PROCdh(4,19,0,"it may make you slig htly worse off!") 300PROCdh(1,21,0,"Its taken 7 mins.to get to the shop.") 310PROCSP 320PROCdata 330ti=7 340PROCa 350END 360DEF PROCa:CLS:PROCwa:PROCsup(1) 370PROChead("Grab a trolly and rush... .") 380rd=RND(3) 390IFrd=1:Sa%=1:PROCdh(6,12,1,a1$) 400IFrd=2:Sa%=3:PROCdh(6,12,1,a2$) 410IFrd=3:Sa%=5:PROCdh(6,12,1,a3$) 420IFSa%>1 SOUND1,-10,60,1 430PROCdhr(6,16,14,Sa%) 440PROCdh(6,16,1,mius$) 450PRINT 460ti=ti+Sa% 470PROCsmcap(ti/2,1) 480IFSa%=1 PROCSP:PROCb 490PROCask:IF ans$="Y" PROCaa ELSE PRO Cb 500ENDPROC 510DEF PROCaa:CLS:PROCwa:PROCsup(1) 520IF Sa%=3rd=RND(2):ELSErd=RND(3) 530PROChead("Grab a trolly and rush... .") 540IFrd=1:Saa%=1:PROCdh(6,12,1,a1$) 550IFrd=2:Saa%=3:PROCdh(6,12,1,a2$) 560IFrd=3:Saa%=5:PROCdh(6,12,1,a3$) 570PROCdhr(6,16,14,Saa%) 580PROCdh(6,16,1,mius$) 590PRINTCHR$(130)gam$:PROCline(2) 600ti=ti-Sa%+1+Saa% 610PROCsmcap(ti/2,1) 620PROCSP:PROCb:ENDPROC 630DEF PROCb:CLS:PROCwa:PROCsup(2) 640PROChead("...along the aisles and.. .") 650rd=RND(3) 660IFrd=1:Sb%=1:PROCdh(6,12,1,b1$) 670IFrd=2:Sb%=3:PROCdh(6,12,1,b2$) 680IFrd=3:Sb%=5:PROCdh(6,12,1,b3$) 690IFSb%>1 SOUND1,-10,60,1 700PROCdhr(6,16,14,Sb%) 710PROCdh(6,16,1,mius$) 720PRINT 730ti=ti+Sb% 740PROCsmcap(ti/2,1) 750IF Sb%=1 PROCSP:PROCc 760PROCask:IF ans$="Y"THEN PROCbb ELSE PROCc 770ENDPROC 780DEF PROCbb:CLS:PROCwa:PROCsup(2) 790IFSb%=3rd=RND(2):ELSErd=RND(3) 800PROChead("...along the aisles and.. .") 810IFrd=1:Sbb%=1:PROCdh(6,12,1,b1$) 820IFrd=2:Sbb%=3:PROCdh(6,12,1,b2$) 830IFrd=3:Sbb%=5:PROCdh(6,12,1,b3$) 840PROCdhr(6,16,14,Sbb%) 850PROCdh(6,16,1,mius$) 860PRINTCHR$(130)gam$:PROCline(2) 870ti=ti-Sb%+1+Sbb% 880PROCsmcap(ti/2,1) 890PROCSP:PROCc:ENDPROC 900DEF PROCc:CLS:PROCwa:PROCsup(3) 910PROChead("...snap up a few items... ") 920rd=RND(3) 930IFrd=1:Sc%=1:PROCdh(6,12,1,c1$) 940IFrd=2:Sc%=3:PROCdh(6,12,1,c2$) 950IFrd=3:Sc%=5:PROCdh(6,12,1,c3$) 960IFSc%>1 SOUND1,-10,60,1 970PROCdhr(6,16,14,Sc%) 980PROCdh(6,16,1,mius$) 990PRINT 1000ti=ti+Sc% 1010PROCsmcap(ti/2,1) 1020IF Sc%=1 PROCSP:PROCd 1030PROCask:IF ans$="Y"THEN PROCcc ELSE PROCd 1040ENDPROC 1050DEF PROCcc:CLS:PROCwa:PROCsup(3) 1060PROChead("...snap up a few items... ") 1070IFSc%=3rd=RND(2):ELSErd=RND(3) 1080IFrd=1:Scc%=1:PROCdh(6,12,1,c1$) 1090IFrd=2:Scc%=3:PROCdh(6,12,1,c2$) 1100IFrd=3:Scc%=5:PROCdh(6,12,1,c3$) 1110PROCdhr(6,16,14,Scc%) 1120PROCdh(6,16,1,mius$) 1130PRINTCHR$(130)gam$:PROCline(2) 1140ti=ti-Sc%+1+Scc% 1150PROCsmcap(ti/2,1) 1160PROCSP:PROCd:ENDPROC 1170DEF PROCd:CLS:PROCwa:PROCsup(4) 1180PROChead("...disaster...") 1190rd=RND(3) 1200IFrd=1:Sd%=1:PROCdh(6,12,1,d1$) 1210IFrd=2:Sd%=3:PROCdh(6,12,1,d2$) 1220IFrd=3:Sd%=5:PROCdh(6,12,1,d3$) 1230IFSd%>1 SOUND1,-10,60,1 1240PROCdhr(6,16,14,Sd%) 1250PROCdh(6,16,1,mius$) 1260PRINT 1270ti=ti+Sd% 1280PROCsmcap(ti/2,1) 1290IF Sd%=1 PROCSP:PROCe 1300PROCask:IF ans$="Y" PROCdd ELSE PRO Ce 1310ENDPROC 1320DEF PROCdd:CLS:PROCwa:PROCsup(4) 1330IFSd%=3rd=RND(2):ELSErd=RND(3) 1340PROChead("...disaster...") 1350IFrd=1:Sdd%=1:PROCdh(6,12,1,d1$) 1360IFrd=2:Sdd%=3:PROCdh(6,12,1,d2$) 1370IFrd=3:Sdd%=5:PROCdh(6,12,1,d3$) 1380PROCdhr(6,16,14,Sdd%) 1390PROCdh(6,16,1,mius$) 1400PRINTCHR$(130)gam$:PROCline(2) 1410ti=ti-Sd%+1+Sdd% 1420PROCsmcap(ti/2,1) 1430PROCSP:PROCe:ENDPROC 1440DEF PROCe:CLS:PROCwa:PROCsup(5) 1450PROChead("..items in the trolly..") 1460rd=RND(3) 1470IFrd=1:Se%=1:PROCdh(6,12,1,e1$) 1480IFrd=2:Se%=3:PROCdh(6,12,1,e2$) 1490IFrd=3:Se%=5:PROCdh(6,12,1,e3$) 1500IFSe%>1 SOUND1,-10,60,1 1510PROCdhr(6,16,14,Se%) 1520PROCdh(6,16,1,mius$) 1530PRINT 1540ti=ti+Se% 1550PROCsmcap(ti/2,1) 1560IF Se%=1 PROCSP:PROCf 1570PROCask:IF ans$="Y" PROCee ELSE PRO Cf 1580ENDPROC 1590DEF PROCee:CLS:PROCwa:PROCsup(5) 1600IFSe%=3rd=RND(2):ELSErd=RND(3) 1610PROChead("..items in the trolly..") 1620IFrd=1:See%=1:PROCdh(6,12,1,e1$) 1630IFrd=2:See%=3:PROCdh(6,12,1,e2$) 1640IFrd=3:See%=5:PROCdh(6,12,1,e3$) 1650PROCdhr(6,16,14,See%) 1660PROCdh(6,16,1,mius$) 1670PRINTCHR$(130)gam$:PROCline(2) 1680ti=ti-Se%+1+See% 1690PROCsmcap(ti/2,1) 1700PROCSP:PROCf:ENDPROC 1710DEF PROCf:CLS:PROCwa:PROCsup(6) 1720PROChead("...I dont believe it!!... ") 1730rd=RND(3) 1740IFrd=1:Sf%=1:PROCdh(6,12,1,f1$) 1750IFrd=2:Sf%=3:PROCdh(6,12,1,f2$) 1760IFrd=3:Sf%=5:PROCdh(6,12,1,f3$) 1770IFSf%>1 SOUND1,-10,60,1 1780PROCdhr(6,16,14,Sf%) 1790PROCdh(6,16,1,mius$) 1800PRINT 1810ti=ti+Sf% 1820PROCsmcap(ti/2,1) 1830IF Sf%=1 PROCSP:PROCg 1840PROCask:IF ans$="Y" PROCff ELSEPROC g 1850ENDPROC 1860DEF PROCff:CLS:PROCwa:PROCsup(6) 1870IFSf%=3rd=RND(2):ELSErd=RND(3) 1880PROChead("...I dont believe it!!... ") 1890IFrd=1:Sff%=1:PROCdh(6,12,1,f1$) 1900IFrd=2:Sff%=3:PROCdh(6,12,1,f2$) 1910IFrd=3:Sff%=5:PROCdh(6,12,1,f3$) 1920PROCdhr(6,16,14,Sff%) 1930PROCdh(6,16,1,mius$) 1940PRINTCHR$(130)gam$:PROCline(2) 1950ti=ti-Sf%+1+Sff% 1960PROCsmcap(ti/2,1) 1970PROCSP:PROCg:ENDPROC 1980DEF PROCg:CLS:PROCwa:PROCsup(7) 1990PROChead("rush towards the check ou t") 2000rd=RND(3) 2010IFrd=1:Sg%=1:PROCdh(6,12,1,g1$) 2020IFrd=2:Sg%=3:PROCdh(6,12,1,g2$) 2030IFrd=3:Sg%=5:PROCdh(6,12,1,g3$) 2040IFSg%>1 SOUND1,-10,60,1 2050PROCdhr(6,16,14,Sg%) 2060PROCdh(6,16,1,mius$) 2070PRINT 2080ti=ti+Sg% 2090PROCsmcap(ti/2,1) 2100IF Sg%=1 PROCSP:PROCh 2110PROCask:IF ans$="Y" PROCgg ELSE PRO Ch 2120ENDPROC 2130DEF PROCgg:CLS:PROCwa:PROCsup(7) 2140IFSg%=3rd=RND(2):ELSErd=RND(3) 2150PROChead("rush towards the check ou t") 2160IFrd=1:Sgg%=1:PROCdh(6,12,1,g1$) 2170IFrd=2:Sgg%=3:PROCdh(6,12,1,g2$) 2180IFrd=3:Sgg%=5:PROCdh(6,12,1,g3$) 2190PROCdhr(6,16,14,Sgg%) 2200PROCdh(6,16,1,mius$) 2210PRINTCHR$(130)gam$:PROCline(2) 2220ti=ti-Sg%+1+Sgg% 2230PROCsmcap(ti/2,1) 2240PROCSP:PROCh:ENDPROC 2250DEF PROCh:CLS:PROCwa:PROCsup(8) 2260PROChead("..selecting a check out.. ") 2270rd=RND(3) 2280IFrd=1:Sh%=1:PROCdh(6,12,1,h1$) 2290IFrd=2:Sh%=3:PROCdh(6,12,1,h2$) 2300IFrd=3:Sh%=5:PROCdh(6,12,1,h3$) 2310IFSh%>1 SOUND1,-10,60,1 2320PROCdhr(6,16,14,Sh%) 2330PROCdh(6,16,1,mius$) 2340PRINT 2350ti=ti+Sh% 2360PROCsmcap(ti/2,1) 2370IFSh%=1 PROCSP:PROCi 2380PROCask:IF ans$="Y" PROChh ELSE PRO Ci 2390ENDPROC 2400DEF PROChh:CLS:PROCwa:PROCsup(8) 2410IFSh%=3rd=RND(2):ELSErd=RND(3) 2420PROChead("..selecting a check out.. ") 2430IFrd=1:Shh%=1:PROCdh(6,12,1,h1$) 2440IFrd=2:Shh%=3:PROCdh(6,12,1,h2$) 2450IFrd=3:Shh%=5:PROCdh(6,12,1,h3$) 2460PROCdhr(6,16,14,Shh%) 2470PROCdh(6,16,1,mius$) 2480PRINTCHR$(130)gam$:PROCline(2) 2490ti=ti-Sh%+1+Shh% 2500PROCsmcap(ti/2,1) 2510PROCSP:PROCi:ENDPROC 2520DEF PROCi:CLS:PROCwa:PROCsup(9) 2530PROChead("..what is the hold up?... ") 2540rd=RND(3) 2550IFrd=1:Si%=1:PROCdh(6,12,1,i1$) 2560IFrd=2:Si%=3:PROCdh(6,12,1,i2$) 2570IFrd=3:Si%=5:PROCdh(6,12,1,i3$) 2580IFSi%>1 SOUND1,-10,60,1 2590PROCdhr(6,16,14,Si%) 2600PROCdh(6,16,1,mius$) 2610PRINT 2620ti=ti+Si% 2630PROCsmcap(ti/2,1) 2640IFSi%=1 PROCSP:PROCj 2650PROCask:IF ans$="Y" PROCii ELSE PRO Cj 2660ENDPROC 2670DEF PROCii:CLS:PROCwa:PROCsup(9) 2680IFSi%=3rd=RND(2):ELSErd=RND(3) 2690PROChead("..what is the hold up?... ") 2700IFrd=1:Sii%=1:PROCdh(6,12,1,i1$) 2710IFrd=2:Sii%=3:PROCdh(6,12,1,i2$) 2720IFrd=3:Sii%=5:PROCdh(6,12,1,i3$) 2730PROCdhr(6,16,14,Sii%) 2740PROCdh(6,16,1,mius$) 2750PRINTCHR$(130)gam$:PROCline(2) 2760ti=ti-Si%+1+Sii% 2770PROCsmcap(ti/2,1) 2780PROCSP:PROCj:ENDPROC 2790DEF PROCj:CLS:PROCwa:PROCsup(10) 2800PROChead("...check out problems..." ) 2810rd=RND(3) 2820IFrd=1:Sj%=1:PROCdh(6,12,1,j1$) 2830IFrd=2:Sj%=3:PROCdh(6,12,1,j2$) 2840IFrd=3:Sj%=5:PROCdh(6,12,1,j3$) 2850IFSj%>1 SOUND1,-10,60,1 2860PROCdhr(6,16,14,Sj%) 2870PROCdh(6,16,1,mius$) 2880PRINT 2890ti=ti+Sj% 2900PROCsmcap(ti/2,1) 2910IFSj%=1 PROCSP:PROCk 2920PROCask:IF ans$="Y" PROCjj ELSE PRO Ck 2930ENDPROC 2940DEF PROCjj:CLS:PROCwa:PROCsup(10) 2950IFSj%=3rd=RND(2):ELSErd=RND(3) 2960PROChead("...check out problems..." ) 2970IFrd=1:Sjj%=1:PROCdh(6,12,1,j1$) 2980IFrd=2:Sjj%=3:PROCdh(6,12,1,j2$) 2990IFrd=3:Sjj%=5:PROCdh(6,12,1,j3$) 3000PROCdhr(6,16,14,Sjj%) 3010PROCdh(6,16,1,mius$) 3020PRINTCHR$(130)gam$:PROCline(2) 3030ti=ti-Sj%+1+Sjj% 3040PROCsmcap(ti/2,1) 3050PROCSP:PROCk:ENDPROC 3060DEF PROCk:CLS:PROCwa:PROCsup(11) 3070PROChead("...please be quick!!...") 3080rd=RND(3) 3090IFrd=1:Sk%=1:PROCdh(6,12,1,k1$) 3100IFrd=2:Sk%=3:PROCdh(6,12,1,k2$) 3110IFrd=3:Sk%=5:PROCdh(6,12,1,k3$) 3120IFSk%>1 SOUND1,-10,60,1 3130PROCdhr(6,16,14,Sk%) 3140PROCdh(6,16,1,mius$) 3150PRINT 3160ti=ti+Sk% 3170PROCsmcap(ti/2,1) 3180IFSk%=1 PROCSP:PROCl 3190PROCask:IF ans$="Y" PROCkk ELSE PRO Cl 3200ENDPROC 3210DEF PROCkk:CLS:PROCwa:PROCsup(11) 3220IF Sk%=3rd=RND(2):ELSErd=RND(3) 3230PROChead("...please be quick!!..") 3240IFrd=1:Skk%=1:PROCdh(6,12,1,k1$) 3250IFrd=2:Skk%=3:PROCdh(6,12,1,k2$) 3260IFrd=3:Skk%=5:PROCdh(6,12,1,k3$) 3270PROCdhr(6,16,14,Skk%) 3280PROCdh(6,16,1,mius$) 3290PRINTCHR$(130)gam$:PROCline(2) 3300ti=ti-Sk%+1+Skk% 3310PROCsmcap(ti/2,1) 3320PROCSP:PROCl:ENDPROC 3330DEF PROCl:CLS:PROCwa:PROCsup(12) 3340PROChead("..still at the check out. .") 3350rd=RND(3) 3360IFrd=1:Sl%=1:PROCdh(6,12,1,l1$) 3370IFrd=2:Sl%=3:PROCdh(6,12,1,l2$) 3380IFrd=3:Sl%=5:PROCdh(6,12,1,l3$) 3390IFSl%>1 SOUND1,-10,60,1 3400PROCdhr(6,16,14,Sl%) 3410PROCdh(6,16,1,mius$) 3420PRINT 3430ti=ti+Sl% 3440PROCsmcap(ti/2,1) 3450IFSl%=1 PROCSP:PROCm 3460PROCask:IF ans$="Y" PROCll ELSE PRO Cm 3470ENDPROC 3480DEF PROCll:CLS:PROCwa:PROCsup(12) 3490IF Sl%=3rd=RND(2):ELSErd=RND(3) 3500PROChead("..still at the check out. ") 3510IFrd=1:Sll%=1:PROCdh(6,12,1,l1$) 3520IFrd=2:Sll%=3:PROCdh(6,12,1,l2$) 3530IFrd=3:Sll%=5:PROCdh(6,12,1,l3$) 3540PROCdhr(6,16,14,Sll%) 3550PROCdh(6,16,1,mius$) 3560PRINTCHR$(130)gam$:PROCline(2) 3570ti=ti-Sl%+1+Sll% 3580PROCsmcap(ti/2,1) 3590PROCSP:PROCm:ENDPROC 3600DEF PROCm:CLS:PROCwa:PROCsup(13) 3610PROChead("..pay for the shopping.." ) 3620rd=RND(3) 3630IFrd=1:Sm%=1:PROCdh(6,12,1,m1$) 3640IFrd=2:Sm%=3:PROCdh(6,12,1,m2$) 3650IFrd=3:Sm%=5:PROCdh(6,12,1,m3$) 3660IFSm%>1 SOUND1,-10,60,1 3670PROCdhr(6,16,14,Sm%) 3680PROCdh(6,16,1,mius$) 3690PRINT 3700ti=ti+Sm% 3710PROCsmcap(ti/2,1) 3720IFSm%=1 PROCSP:PROCo 3730PROCask:IF ans$="Y" PROCmm ELSE PRO Co 3740ENDPROC 3750DEF PROCmm:CLS:PROCwa:PROCsup(13) 3760IF Sm%=3rd=RND(2):ELSErd=RND(3) 3770PROChead("..pay for the shopping.." ) 3780IFrd=1:Smm%=1:PROCdh(6,12,1,m1$) 3790IFrd=2:Smm%=3:PROCdh(6,12,1,m2$) 3800IFrd=3:Smm%=5:PROCdh(6,12,1,m3$) 3810PROCdhr(6,16,14,Smm%) 3820PROCdh(6,16,1,mius$) 3830PRINTCHR$(130)gam$:PROCline(2) 3840ti=ti-Sm%+1+Smm% 3850PROCsmcap(ti/2,1) 3860PROCSP:PROCo:ENDPROC 3870DEF PROCo:CLS:PROCwa:PROCsup(14) 3880PROChead("...packing your shopping. .") 3890rd=RND(3) 3900IFrd=1:So%=1:PROCdh(6,12,1,o1$) 3910IFrd=2:So%=3:PROCdh(6,12,1,o2$) 3920IFrd=3:So%=5:PROCdh(6,12,1,o3$) 3930IFSo%>1 SOUND1,-10,60,1 3940PROCdhr(6,16,14,So%) 3950PROCdh(6,16,1,mius$) 3960PRINT 3970ti=ti+So% 3980PROCsmcap(ti/2,1) 3990IFSo%=1 PROCSP:PROCp 4000PROCask:IF ans$="Y" PROCoo ELSE PRO Cp 4010ENDPROC 4020DEF PROCoo:CLS:PROCwa:PROCsup(14) 4030IF So%=3rd=RND(2):ELSErd=RND(3) 4040PROChead("...packing your shopping. .") 4050IFrd=1:Soo%=1:PROCdh(6,12,1,o1$) 4060IFrd=2:Soo%=3:PROCdh(6,12,1,o2$) 4070IFrd=3:Soo%=5:PROCdh(6,12,1,o3$) 4080PROCdhr(6,16,14,Soo%) 4090PROCdh(6,16,1,mius$) 4100PRINTCHR$(130)gam$:PROCline(2) 4110ti=ti-So%+1+Soo% 4120PROCsmcap(ti/2,1) 4130PROCSP:PROCp 4140ENDPROC 4150DEF PROCp:CLS:PROCwa:PROCsup(15) 4160PROChead("...rush back to your car. .") 4170rd=RND(3) 4180IFrd=1:Sp%=1:PROCdh(6,12,1,p1$) 4190IFrd=2:Sp%=3:PROCdh(6,12,1,p2$) 4200IFrd=3:Sp%=5:PROCdh(6,12,1,p3$) 4210IFSp%>1 SOUND1,-10,60,1 4220PROCdhr(6,16,14,Sp%) 4230PROCdh(6,16,1,mius$) 4240PRINT 4250ti=ti+Sp% 4260PROCsmcap(ti/2,1) 4270IFSp%=1 PROCSP:PROCfinish 4280PROCask:IF ans$="Y" PROCpp 4290PROCfinish:ENDPROC 4300DEF PROCpp:CLS:PROCwa:PROCsup(15) 4310IF Sp%=3rd=RND(2):ELSErd=RND(3) 4320PROChead("...rush back to your car. .") 4330IFrd=1:Spp%=1:PROCdh(6,12,1,p1$) 4340IFrd=2:Spp%=3:PROCdh(6,12,1,p2$) 4350IFrd=3:Spp%=5:PROCdh(6,12,1,p3$) 4360PROCdhr(6,16,14,Spp%) 4370PROCdh(6,16,1,mius$) 4380PRINTCHR$(130)gam$:PROCline(2) 4390ti=ti-Sp%+1+Spp% 4400PROCsmcap(ti/2,1) 4410PROCSP 4420PROCfinish 4430ENDPROC 4440DEF PROCfinish:CLS:PRINT 4450PROChead("back to the car at last." ) 4460PROCdh(6,7,1,"It has taken you") 4470PROCdhr(6,17,9,ti) 4480PROCdh(6,11,1,"minutes.") 4490IF ti<46 THEN PROCunder:ENDPROC 4500IF ti<45 OR ti<51 THEN PROCletoff:E NDPROC 4510IF ti>50 THEN PROCover: ENDPROC 4520PROCSP2 4530ENDPROC 4540DEF PROCunder 4550PROCdh(1,13,1,"You are") 4560PROCdhr(1,18,15,45-ti) 4570PROCdh(1,17,1,"minute/s before the limit.") 4580PROCdh(3,19,1,"Congratulations to a good citizen.") 4590PROCSP2 4600ENDPROC 4610DEF PROCover 4620PROCdh(1,13,1,"You are") 4630PROCdhr(1,17,15,ti-45) 4640PROCdh(1,17,1,"minutes over!") 4650PROCdh(3,19,1,"Oh! A parking ticket on the screen!") 4660PROCSP2 4670ENDPROC 4680DEF PROCletoff 4690PROCdh(1,13,1,"You are") 4700PROCdhr(1,17,15,ti-45) 4710PROCdh(1,17,1,"minute/s over!") 4720PROCdh(3,19,1,"No ticket but warden tells you off!") 4730PROCSP2 4740ENDPROC 4750RUN 4760END 4770ENDPROC 4780DEF PROCask 4790PRINTTAB(0,21)" Would you like to t ry and change this?" 4800PRINTTAB(0,22)" (You will have one minute added and it" 4810PRINTTAB(0,23)" may show the same!) Gamble? Press Y/N" 4820*FX15,1 4830ans$=GET$:IFans$<>"Y" AND ans$<>"N" THEN GOTO 4830 4840ENDPROC 4850DEF PROCSP 4860PRINTTAB(2,23)" Please press SPACE to continue >>>" 4870*FX15,1 4880REPEAT UNTIL GET =32:CLS 4890ENDPROC 4900DEF PROCSP2 4910PROCdh(2,22,0,"To go shopping again . Press SPACE.") 4920PROCdh(2,23,0,"To end press any oth er key.") 4930*FX15,1 4940IF GET$<>" "CLS:PRINTTAB(13,10)"BYE FROM ROY.":END:ELSE RUN 4970ENDPROC 4980DEF PROCline(c) 4990PRINTCHR$(144+c)TAB(7)STRING$(25,", ") 5000ENDPROC 5010DEF PROCdh(C%,L%,D%,A$) 5020IF D% A$=CHR$(141)+A$ 5030X%=(40-LENA$)DIV 2-1 5040FORY%=L%TOL%+D%:PRINTTAB(X%,Y%);CHR $(128+C%);A$:NEXT 5050ENDPROC 5060DEFPROCdhr(c,x,y,r%):FOR J=0TO1:PRI NTTAB(x,y+J);CHR$(141);CHR$(128+c);r%:NE XT:ENDPROC 5070DEF PROCwa 5080PRINTCHR$(132)CHR$(157)CHR$(135)" WAITING LIMITED TO 45 MINUTES"''''' 5090ENDPROC 5100DEF PROCsup(st%) 5110PRINTCHR$(129)CHR$(157)CHR$(131)"IN TOWN SUPER MARKET (stage ";st%;"/15)" 5120ENDPROC 5130DEF PROCdata 5140mius$="minute/s added for this.":ga m$=" (plus 1 because you had a gamble.) " 5150a1$="You have chosen a good trolly. ":a2$="The trolly wheels are rather stif f.":a3$="Your trolly has a wobbly wheel. " 5160b1$="Good, you have a clear aisle." :b2$="Pallets and boxes in the way.":b3$ ="You have met a talkative friend." 5170c1$=" OK. You have found your items .":c2$="You have to ask assistant for he lp.":c3$="Bother! You cannot find your i tems." 5180d1$="Slipped on wet gooey floor!":d 2$="Trolly knocks down stack of cans.":d 3$="A jar of jam dropped and broken!" 5190e1$="You have selected nine items." :e2$="You have selected eleven items.":e 3$="You have selected fourteen items." 5200f1$="Milk bottle cap leaks.":f2$="Y our bag of sugar has a leak.":f3$="The b ag of flour has burst!" 5210g1$="Your lucky this is a small que ue.":g2$="This is a medium sized queue." :g3$="Oh no! What a long queue." 5220h1$="All seems O.K. Fingers crossed .":h2$="This till now closing. Sorry.":h 3$="'8 ITEMS ONLY'till.You have more!" 5230i1$="Customer in front pays by swit ch.":i2$="One in front using credit card .":i3$="Customer writes a cheque. Slowly ." 5240j1$="Check out asks super for chang e.":j2$="The till roll has to be changed .":j3$="Tea break. Till person change ov er." 5250k1$="Experienced assistant on till. ":k2$="Trainee on till with supervisor." :k3$="Trainee struggling on till." 5260l1$="Your items go through smoothly .":l2$="Price check with next till.":l3$ ="A no price item Ass.rings to check." 5270m1$="You pay with cash.":m2$="You p ay with a card.":m3$="You have to write a cheque." 5280o1$="Assistant helps you to pack.": o2$="Flimsy bags a job to open.":o3$="Ba gs no good you fetch box." 5290p1$="No hold up getting back.":p2$= "Paths crowded in rush hour":p3$="Relati ve stops you with some gossip." 5300ENDPROC 5310DEFPROChead(header$) 5320IFLEN(header$)MOD2=1THENheader$=hea der$+CHR$32 5330RO%=LEN(header$):DI%=(28-RO%)/2 5340header$=STRING$(DI%," ")+header$+ST RING$(DI%-1," ") 5350PRINT"  ,,,,,l     ,,,,,,,,,,,,." 5360ENDPROC:PRINT" ................. 5370DEF PROCsmcap(x,y) 5380IF x>30 x=30 5390PRINTTAB(x,y)"  5400PRINTTAB(x,y+1)" TW  5410PRINTTAB(x,y+2)"   5420IFti <45 PRINTTAB((ti/2)+3)CHR$(134 );ti ELSE PRINTTAB((ti/2)+3)CHR$(136);ti 5430PRINTTAB(0,y+4);CHR$(134)"In limit. .............Over^limit......." 5440ENDPROC 5450DEF PROCerror:REPORT:PRINT" at line ";ERL:ENDPROC 5460DEFPROCROY 5470PRINT"  IDEA AND PROG RAM ££££££" 5480PRINT"     k 7e757£k" 5490PRINT"     s550!5u0£5" 5500PRINT" BY  p5u7t5upp5" 5510PRINT 5520PRINT" FOR 8-BIT SOFTWARE" 5530PRINT" 17 Lambert Park Rd Hedon HUL L HU12 8HF"' 5540ENDPROC