10 REM"NOTaLOT 20 REM John Davis -'97. 30 MODE7 40 VDU23,1,0;0;0;0; 50 DIML$(6,6):DIMCX%(6):DIMCY%(6) 60 DIMC%(49):DIMD%(7) 70 CL$=CHR$(136):CR$=CHR$(137):CU$=CHR$(139):CD$=CHR$(138) 80 FP=0 90 NL$=" * N O T a L O T *" 100 LIN$=CHR$(148)+STRING$(39,"p") 110 LIN2$=CHR$(148)+STRING$(38,"|") 120 ONERRORFER%=0:GOTO2740 130 PRINTNL$ 140 PRINTTAB(0,24)"*SHIFTto Scroll;ESCfor options"; 150 FORN%=1TO23:PRINTTAB(0,N%)"":NEXT 160 VDU28,1,22,39,1 170 IFFP=1VDU15ELSEVDU14 180 IFFP=1FP=0:VDU2 190 *TYPE NL/INFO 200 VDU3 210 VDU23,1,0;0;0;0; 220 VDU26 230 PRINTTAB(0,24)""SPC36; 240 G$=GET$ 250 IFG$=" "GOTO290 260 IFG$="I"CLS:GOTO120 270 IFG$="P"FP=1:CLS:GOTO120 280 GOTO240 290 VDU15:VDU26 300 *FX4,1 310 PROCting:TNG=7 320 FL%=136 330 ONERRORFER%=1:GOTO2740 340 `%=50:``%=50:GM%=0 350 CLS 360 FORN%=0TO6 370 CX%(N%)=-1:CY%(N%)=-1 380 NEXT 390 X%=3:Y%=3:LC%=7:FM%=0 400 PROClottery:PROClotarray 410 PRINTNL$ 420 FORN%=0TO48 430 IFN%<9 A$=" " ELSE A$="" 440 PRINTTAB((N%MOD7)*3+1,(N%DIV7)*2+2);A$;N%+1 450 NEXT 460 FORN%=0TO12STEP2 470 PRINTTAB(0,N%+3);CHR$(147) 480 PRINTTAB(22,N%+3)"" 490 PRINTTAB(X%*3+2,N%+3);"``" 500 NEXT 510 PRINTTAB(27,2)"CURSORSMove"; 520 PRINTTAB(27,3)"COPY=Switch"; 530 PRINTTAB(27,4)"RTRN=Select"; 540 PRINTTAB(27,6)"F=Flash" 550 PRINTTAB(27,7)"T=Ting" 560 PRINTTAB(27,9)"Colours:" 570 PRINTTAB(27,10)"RED=Found" 580 PRINTTAB(27,11)"MAGENTA=" 590 PRINTTAB(27,12)" Bonus Found" 600 PRINTTAB(27,13)"DARK BLUE=" 610 PRINTTAB(27,14)" None Next" 620 PRINTTAB(27,15)"GREEN=One or"; 630 PRINTTAB(27,16)" More Next" 640 FL%=ABS(FL%-273):PROCflash 650 TNG=ABS(TNG-7):PROCtingon 660 PRINTTAB(0,17)LIN$; 670 PRINTTAB(0,19)"Money remaining:`";`%;" Games won:";GM% 680 PRINTTAB(0,20)""STRING$(39,CHR$255) 690 REM"** 700 G$=GET$ 710 IFG$=CHR$(135)FORN%=3TO15STEP2:PRINTTAB(X%*3+2,N%);" ":NEXT:U%=X%:V%=3:GOTO1100 720 IFG$=CU$ORG$=CD$FORN%=3TO15STEP2:PRINTTAB(X%*3+2,N%);" ":NEXT:Y%=2:G$=CD$:GOTO840 730 IFG$=CL$U%=(X%-1)MOD7+(7ANDX%=0):GOTO910 740 IFG$=CR$U%=(X%+1)MOD7:GOTO910 750 IFG$<>CHR$(13)ELSEPROCcolumn:IFLC%>0AND`%>-1ELSEIFLC%=0GOTO350ELSE340 760 IFG$="F"PROCflash 770 IFG$="T"PROCtingon 780 IFG$="="PRINTTAB(0,20):FORN=0TO6:PRINT;D%(N);" ";:NEXT 790 GOTO700 800 REM"** 810 G$=GET$ 820 IFG$=CHR$(135)PRINTTAB(2,Y%*2+3)SPC(20):U%=3:V%=Y%:GOTO1100 830 IFG$=CL$ORG$=CR$PRINTTAB(2,Y%*2+3)SPC(20):X%=2:G$=CR$:GOTO730 840 IFG$=CU$V%=(Y%-1)MOD7+(7ANDY%=0):GOTO970 850 IFG$=CD$V%=(Y%+1)MOD7:GOTO970 860 REMIFG$=CHR$(13)PROCrow:IFLC%=0GOTO350 870 IFG$<>CHR$(13)ELSEPROCrow:IFLC%>0AND`%>-1ELSEIFLC%=0GOTO350ELSE340 880 IFG$="F"PROCflash 890 GOTO810 900 REM"** 910 FORN%=0TO12STEP2 920 PRINTTAB(X%*3+2,N%+3);" " 930 PRINTTAB(U%*3+2,N%+3);"``" 940 NEXT 950 X%=U% 960 GOTO700 970 PRINTTAB(2,Y%*2+3)SPC(20) 980 PRINTTAB(2,V%*2+3)"`` `` `` `` `` `` ``" 990 Y%=V% 1000 GOTO810 1010 REM"Single cursor 1020 G$=GET$ 1030 IFG$=CHR$(135)U%=X%:GOTO910 1040 IFG$=CHR$(135)PRINTTAB(X%*3+2,Y%*2+3)" ":X%=2:G$=CR$:GOTO730 1050 IFG$=CL$U%=(X%-1)MOD7+(7ANDX%=0) 1060 IFG$=CR$U%=(X%+1)MOD7 1070 IFG$=CU$V%=(Y%-1)MOD7+(7ANDY%=0) 1080 IFG$=CD$V%=(Y%+1)MOD7 1090 PRINTTAB(X%*3+2,Y%*2+3)" " 1100 PRINTTAB(U%*3+2,V%*2+3)"``" 1110 X%=U%:Y%=V% 1120 IFG$="F"PROCflash 1130 IFG$<>CHR$(13)THEN1020 1140 L$=L$(X%,Y%):FF%=3 1150 IFL$="F"ORL$="FB"ORL$="E"GOTO1020 1160 IFL$="X"ORL$="C"PRINTTAB(X%*3+1,Y%*2+2)"":L$(X%,Y%)="F":LC%=LC%-1:FF%=0:VDUTNG:GOTO1200 1170 IFL$="XB"ORL$="CB"PRINTTAB(X%*3+1,Y%*2+2)"":L$(X%,Y%)="FB":LC%=LC%-1:FF%=1:VDUTNG:VDUTNG:GOTO1200 1180 L$(X%,Y%)="E" 1190 PROCadj 1200 PROCmoney 1210 IFLC%=0GOTO350 1220 IF`%<0GOTO340 1230 GOTO1020 1240 "** 1250 DEFPROClottery 1260 F%=0 1270 D%(0)=RND(49) 1280 FORN%=0TO5 1290 Z%=RND(49) 1300 FORM%=0TON% 1310 IFZ%=D%(M%) F%=1:M%=N% 1320 NEXT 1330 IF F%=1 F%=0:GOTO1290 1340 D%(M%)=Z% 1350 NEXT 1360 ENDPROC 1370 "** 1380 DEFPROClotarray 1390 FORM%=0TO6:FORN%=0TO6 1400 L$(M%,N%)="0" 1410 NEXT:NEXT 1420 FORN%=0TO5 1430 K%=D%(N%)-1 1440 L$(K%MOD7,K%DIV7)="X" 1450 NEXT 1460 L$((D%(6)-1)MOD7,(D%(6)-1)DIV7)="XB" 1470 ENDPROC 1480 "** 1490 DEFPROCcolumn 1500 IFCX%(X%)<>-1ENDPROC 1510 C%=0:FF%=7 1520 FORN%=0TO6 1530 L$=L$(X%,N%) 1540 IFL$<>"0"ANDL$<>"E"C%=C%+1 1550 IFL$="X"L$(X%,N%)="C":GOTO1670 1560 IFL$="XB"L$(X%,N%)="CB":FM%=1:GOTO1670 1570 IFL$="C"ELSE1620 1580 L$(X%,N%)="F" 1590 PRINTTAB(X%*3+1,N%*2+2)"" 1600 IFFF%<>1FF%=0 1610 LC%=LC%-1:VDUTNG 1620 IFL$="CB"ELSE1670 1630 L$(X%,N%)="FB" 1640 PRINTTAB(X%*3+1,N%*2+2)"" 1650 FF%=1:FM%=1:VDUTNG:VDUTNG 1660 LC%=LC%-1 1670 NEXT 1680 CX%(X%)=C% 1690 IFFM%=0PRINTTAB(X%*3+2,16);"";C%ELSEFM%=0:PRINTTAB(X%*3+2,16);"";C% 1700 PROCmoney 1710 ENDPROC 1720 "** 1730 DEFPROCrow 1740 IFCY%(Y%)<>-1ENDPROC 1750 C%=0:FF%=7 1760 FORN%=0TO6 1770 L$=L$(N%,Y%) 1780 IFL$<>"0"ANDL$<>"E"C%=C%+1 1790 IFL$="X"L$(N%,Y%)="C":GOTO1910 1800 IFL$="XB"L$(N%,Y%)="CB":FM%=1:GOTO1910 1810 IFL$="C"ELSE1860 1820 L$(N%,Y%)="F" 1830 PRINTTAB(N%*3+1,Y%*2+2)"" 1840 IFFF%<>1FF%=0 1850 LC%=LC%-1:VDUTNG 1860 IFL$="CB"ELSE1910 1870 L$(N%,Y%)="FB" 1880 PRINTTAB(N%*3+1,Y%*2+2)"" 1890 FF%=1:FM%=1:VDUTNG:VDUTNG 1900 LC%=LC%-1 1910 NEXT 1920 CY%(Y%)=C% 1930 IFFM%=0PRINTTAB(23,Y%*2+2);"";C%ELSEFM%=0:PRINTTAB(23,Y%*2+2);"";C% 1940 PROCmoney 1950 ENDPROC 1960 "** 1970 DEFPROCmoney 1980 IFFF%<2ELSE2090 1990 PRINTTAB(6,20)"No charge:" 2000 FORD=1TO3000:NEXT 2010 PRINTTAB(6,20)STRING$(13,CHR$255) 2020 IFFF%=0THEN2070 2030 IF`%>25BN%=25ELSEBN%=`% 2040 `%=`%+BN% 2050 PRINTTAB(19,19);`%;" " 2060 PRINTTAB(10,20)"BONUS=`";BN%;"":FORD=1TO3000:NEXT:PRINTTAB(10,20)STRING$(12,CHR$255) 2070 IFLC%=0PROCwin 2080 ENDPROC 2090 `%=`%-FF% 2100 PRINTTAB(19,19);`%;" " 2110 IF`%<0PROClose 2120 ENDPROC 2130 "** 2140 DEFPROCwin 2150 ``%=``%-2:`T=`%+``%:GM%=GM%+1 2160 IF`T>75`T=75 2170 VDUTNG:VDUTNG 2180 PRINTTAB(0,21)"Well done! You've won." 2190 PRINT"Press SPACE for next game, with a new kitty of`";``%;"+`";`%;"="; 2200 IF`T<75PRINT"`";`T ELSEPRINT"`";`T;" (Max)" 2210 PRINTTAB(0,24)LIN2$; 2220 `%=``%+`% 2230 G=GET 2240 ENDPROC 2250 "** 2260 DEFPROClose 2270 PRINTTAB(0,21)"Bad luck. You've lost." 2280 PRINT"Press SPACE to see numbers missed." 2290 PRINTTAB(0,23)LIN2$; 2300 G=GET 2310 FORM%=0TO6 2320 FORN%=0TO6 2330 L$=L$(N%,M%) 2340 IFL$="X"ORL$="C"PRINTTAB(N%*3+1,M%*2+2)"" 2350 IFL$="XB"ORL$="CB"PRINTTAB(N%*3+1,M%*2+2)"" 2360 NEXT:NEXT 2370 PRINTTAB(0,21)"Press:SPACEfor new game." 2380 PRINT" ESCfor options. " 2390 G$=GET$:IFG$=" "ELSE2390 2400 ENDPROC 2410 "** 2420 DEFPROCflash 2430 FL%=ABS(FL%-273) 2440 FORN%=3TO15STEP2 2450 PRINTTAB(1,N%)CHR$(FL%) 2460 NEXT 2470 IFFL%=136PRINTTAB(36,6)"On ";ELSEPRINTTAB(36,6)"Off"; 2480 ENDPROC 2490 "** 2500 DEFPROCadj 2510 ADJ%=0 2520 IFX%>0A%=X%-1ELSE2540 2530 IFL$(A%,Y%)<>"0"ANDL$(A%,Y%)<>"E"ADJ%=ADJ%+1 2540 IFX%<6A%=X%+1ELSE2560 2550 IFL$(A%,Y%)<>"0"ANDL$(A%,Y%)<>"E"ADJ%=ADJ%+1 2560 IFY%>0A%=Y%-1ELSE2580 2570 IFL$(X%,A%)<>"0"ANDL$(X%,A%)<>"E"ADJ%=ADJ%+1 2580 IFY%<6A%=Y%+1ELSE2600 2590 IFL$(X%,A%)<>"0"ANDL$(X%,A%)<>"E"ADJ%=ADJ%+1 2600 IFADJ%>0PRINTTAB(X%*3+1,Y%*2+2)""ELSEPRINTTAB(X%*3+1,Y%*2+2)"" 2610 ENDPROC 2620 "** 2630 DEFPROCting 2640 ENVELOPE1,1,0,0,0,0,0,0,127,-4,-2,-1,126,90 2650 *FX212,0 2660 *FX213,170 2670 ENDPROC 2680 "** 2690 DEFPROCtingon 2700 TNG=ABS(TNG-7) 2710 IFTNG=7PRINTTAB(35,7)"On ";ELSEPRINTTAB(35,7)"Off"; 2720 ENDPROC 2730 "Error: 2740 ONERRORGOTO2760 2750 GOTO2800 2760 *FX4,0 2770 CLS:PRINTNL$ 2780 PRINT:VDU23,1,1;0;0;0; 2790 END 2800 VDU26:CLS:PRINTNL$ 2810 PRINT'"Press:SPACEfor game." 2820 PRINT" Ifor Info." 2830 PRINT" Pto Print info." 2840 PRINT" ESCto Escape." 2850 PRINT'LIN$ 2860 G$=GET$ 2870 IFG$<>" "ELSEIFFER%=0GOTO290ELSE330 2880 IFG$="I"CLS:GOTO120 2890 IFG$="P"FP=1:CLS:GOTO120 2900 GOTO2860