# Lottery 4. Choose Numbers - Listing

10REM: NATLOT 20MODE7:VDU23;8202;0;0;0; 30ON ERROR PROCerror 40*KEY7 SAVE"NATLOT"|M 50*KEY8 RUN|M 60*KEY9 MODE135|M|N *FX4|M *FX200|M L IST|M 70PROCtitle:PRINTTAB(4,4)" The Progra m selects random numbers,"'" between 1 a nd 49, for entry as single"'" 'lines' or as a set of five 'lines'."' 80PRINTTAB(4)" The Program can also b e used with"'" certain numbers EXCLUDED. "' 90PRINTTAB(0)" On this disc numbers w hich CAN be"'" excluded are:-"''" Th ose which have appeared in the"'" fi rst seven draws OR"'" Those which ha ve appeared two"'" or more times in the first"'" seven draws." 100PRINT:PRINTTAB(1)" (Select your own numbers by altering"'" LINES 2220+ a nd/or LINES 2410+)"''TAB(12)" Press any key";:A=GET:PROCbell2::CLS 110PROCtitle:PRINTTAB(6,6)" N.B:- The author of this Program"'"takes absolutel y no responsibility for"'"it failing to produce winning numbers!!!"' 120FOR X=14TO15:PRINTTAB(8,X)CHR\$141" G O O D L U C K":NEXT:PRINTTAB(12,2 2)" Press any key":A=GET:PROCbell2:CLS 130PROCtitle:FOR X=4TO5:PRINTTAB(1,X)C HR\$141"Press 1 if you DO NOT want to EXC LUDE":NEXT:FOR X=6TO7:PRINTTAB(1,X)CHR\$1 41"any numbers between 1 and 49.":NEXT 140FOR X=9TO10:PRINTTAB(0,X)CHR\$141" P ress 2 to EXCLUDE numbers which have":NE XT:FOR X=11TO12:PRINTTAB(0,X)CHR\$141" ap peared in the first 7 draws":NEXT 150FOR X=14TO15:PRINTTAB(0,X)CHR\$141" Press 3 to EXCLUDE numbers which have":N EXT:FOR X=16TO17:PRINTTAB(0,X)CHR\$141" a ppeared two or more times in the":NEXT:F OR X=18TO19:PRINTTAB(0,X)CHR\$141" first 7 draws.":NEXT 160PRINTTAB(8,21)" Please press 1 2 or 3"':PRINTTAB(7)" Or press ESCAPE to QUI T":A=GET 170IF A=49 ex%=0:PROCbell:GOTO220 180IF A=50 ex%=1:PROCbell:PROCbell:GOT O220 190IF A=51 ex%=2:PROCbell:PROCbell:PRO Cbell:GOTO220 200IF A=-113 PROCerror 210IF A<>49 OR A<>50 OR A<>51 OR A<>-1 13 PROCbell2:FOR X=18TO19:PRINTTAB(7,X)C HR\$141" Please press 1 2 or 3":NEXT 220CLS:PROCtitle:PRINTTAB(3,4)"Press 1 for a single entry of 6"'"random number s between 1 and 49"''TAB(3)"Press 2 for 5 entries of 6 random"'"numbers between 1 and 49"' 230PRINTTAB(3)"Press 3 for a single en try of 6"'"random numbers, with two betw een 1 and"'"25, two between 26 and 49 an d two others"'"also at random, between 1 and 49"' 240PRINTTAB(3)"Press 4 for 5 entries o f 6 random"'"numbers, with two between 1 and 25, two"'"between 26 and 49 and two others, also"'"at random, between 1 and 49"' 250PRINTTAB(3)"Press 5 to QUIT this Pr ogram":PRINTTAB(10,22)"Press 1 2 3 4 or 5":pick%=GET 260IF pick%<49 OR pick%>53 PRINTTAB(8, 22)" Press 1 2 3 4 or 5":GOTO250 270GOTO1000 280END 1000REM: LOTTERY ********** 1010CLS 1020IF pick%=49 THEN PROCbell:PROCtitle 2(1) 1030IF pick%=50 THEN PROCbell:PROCbell: :PROCtitle2(2) 1040IF pick%=51 THEN PROCbell:PROCbell: PROCbell:PROCtitle2(3) 1050IF pick%=52 THEN PROCbell:PROCbell: PROCbell:PROCbell:PROCtitle2(4) 1060IF pick%=53 THEN PROCbell:PROCbell: PROCbell:PROCbell:PROCbell:PROCfinish 1070FOR X=3TO4:PRINTTAB(0,X)CHR\$141" Th e Computer will pick six numbers":NEXT 1080IF pick%=49 OR pick%=50 THEN FOR X= 5TO6:PRINTTAB(0,X)CHR\$141" at random.":N EXT:PROCoption 1090IF pick%=51 OR pick%=52 THEN FOR X= 3TO4:PRINTTAB(0,X)CHR\$141" The Computer will pick six numbers":NEXT 1100IF pick%=51 OR pick%=52 THEN FOR X= 5TO6:PRINTTAB(0,X)CHR\$141" at random - t wo between 1 and 25, two":NEXT:FOR X=7TO 8:PRINTTAB(0,X)CHR\$141" between 26 and 4 9 and two, also at":NEXT 1110IF pick%=51 OR pick%=52 THEN FOR X= 9TO10:PRINTTAB(0,X) CHR\$141" random betw een 1 and 49.":NEXT:PROCoption 1120IF pick%=51 OR pick%=52 THEN FOR X= 6TO7:PRINTTAB(3,X)CHR\$141" 1 to 25 2 6 to 49 1 to 49":NEXT:PRINTTAB(3,8) " ```````` ````````` `````````" 1130IF pick%=49 OR pick%=51 THEN l%=10 1140IF pick%=50 OR pick%=52 THEN p%=2:l %=10 1150IF pick%=50 OR pick%=52 THEN FOR mo re%=1 TO 5 1170A=RND(49) 1180IF pick%=51 AND A>25 THEN GOTO1170 1182IF pick%=52 AND A>25 THEN GOTO1170 1190n%=A:o%=1170 1200IF ex%=0 GOTO1230 1210IF ex%=1 THEN PROCmiss1:PROCmiss2 1220IF ex%=2 THEN PROCmiss2 1230PROCcol:PRINTTAB(2,l%)CHR\$141CHR\$c% ;A:PRINTTAB(2,l%+1)CHR\$141CHR\$c%;A 1250B=RND(49) 1260IF pick%=51 AND B>25 THEN GOTO1250 1262IF pick%=52 AND B>25 THEN GOTO1250 1270n%=B:o%=1250 1280IF B=A GOTO1250 1290IF ex%=0 GOTO1320 1300IF ex%=1 THEN PROCmiss1:PROCmiss2 1310IF ex%=2 THEN PROCmiss2 1320PROCcol:PRINTTAB(8,l%)CHR\$141CHR\$c% ;B:PRINTTAB(8,l%+1)CHR\$141CHR\$c%;B 1330C=RND(49) 1340IF pick%=51 OR pick%=52 GOTO1350 EL SE GOTO1360 1350IF C<26 GOTO1330 1360IF C=A OR C=B GOTO1330 1370n%=C:o%=1330 1380IF ex%=0 GOTO1410 1390IF ex%=1 THEN PROCmiss1:PROCmiss2 1400IF ex%=2 THEN PROCmiss2 1410PROCcol:PRINTTAB(14,l%)CHR\$141CHR\$c %;C:PRINTTAB(14,l%+1)CHR\$141CHR\$c%;C 1420D=RND(49) 1430IF pick%=51 OR pick%=52 GOTO1440 EL SE GOTO1450 1440IF D<26 GOTO1420 1450IF D=A OR D=B OR D=C GOTO1420 1460n%=D:o%=1420 1470IF ex%=0 GOTO1500 1480IF ex%=1 THEN PROCmiss1:PROCmiss2 1490IF ex%=2 THEN PROCmiss2 1500PROCcol:PRINTTAB(21,l%)CHR\$141CHR\$c %;D:PRINTTAB(21,l%+1)CHR\$141CHR\$c%;D 1510E=RND(49) 1520IF E=A OR E=B OR E=C OR E=D GOTO151 0 1530n%=E:o%=1510 1540IF ex%=0 GOTO1570 1550IF ex%=1 THEN PROCmiss1:PROCmiss2 1560IF ex%=2 THEN PROCmiss2 1570PROCcol:PRINTTAB(28,l%)CHR\$141CHR\$c %;E:PRINTTAB(28,l%+1)CHR\$141CHR\$c%;E 1580F=RND(49) 1590IF F=A OR F=B OR F=C OR F=D OR F=E GOTO1580 1600n%=F:o%=1580 1610IF ex%=0 GOTO1640 1620IF ex%=1 THEN PROCmiss1:PROCmiss2 1630IF ex%=2 THEN PROCmiss2 1640PROCcol:PRINTTAB(35,l%)CHR\$141CHR\$c %;F:PRINTTAB(35,l%+1)CHR\$141CHR\$c%;F 1650IF pick%=50 OR pick%=52 THEN l%=l%+ 2 1660IF pick%=50 OR pick%=52 THEN NEXT m ore% 1670PROCoption1:GOTO1130 1680END 2000DEFPROCbell 2010ENVELOPE 1,1,0,0,0,0,0,0,127,-4,-2, -1,126,90 2020*FX212,0 2030*FX213,200 2040VDU7:FOR X=1TO250:NEXT X:ENDPROC 2050DEFPROCbell2 2060ENVELOPE 1,1,0,0,0,0,0,0,127,-4,-2, -1,126,90 2070*FX212,0 2080*FX213,50 2090VDU7:PROCstopbell:ENDPROC 2100DEFPROCstopbell 2110*FX212,144 2120*FX213,101 2130ENDPROC 2140DEFPROCcol 2150IF n%>0 AND n%<11 c%=135 2160IF n%>10 AND n%<21 c%=132 2170IF n%>20 AND n%<31 c%=129 2180IF n%>30 AND n%<41 c%=130 2190IF n%>40 AND n%<50 c%=131 2200ENDPROC 2210DEFPROCmiss1:REM: Alter OR delete LINES between 2220 and 2370 for numbers you wish to EXCLUDE from the random numbers (These have NOT appeared in the first 7 draws) 2220IF n%=1 GOTO o% 2230IF n%=4 GOTO o% 2240IF n%=7 GOTO o% 2250IF n%=8 GOTO o% 2260IF n%=18 GOTO o% 2270IF n%=19 GOTO o% 2280IF n%=20 GOTO o% 2290IF n%=23 GOTO o% 2300IF n%=24 GOTO o% 2310IF n%=25 GOTO o% 2320IF n%=33 GOTO o% 2330IF n%=34 GOTO o% 2340IF n%=41 GOTO o% 2350IF n%=45 GOTO o% 2360IF n%=46 GOTO o% 2370IF n%=48 GOTO o% 2380 *FX15 2390ENDPROC 2400DEFPROCmiss2:REM: Alter OR delete LINES between 2410 and 2510 for numbers you wish to EXCLUDE from the random numbers (These have appeared two or more times in the first 7 draws) 2410IF n%=3 GOTO o% 2420IF n%=5 GOTO o% 2430IF n%=6 GOTO o% 2440IF n%=9 GOTO o% 2450IF n%=14 GOTO o% 2460IF n%=16 GOTO o% 2470IF n%=17 GOTO o% 2480IF n%=30 GOTO o% 2490IF n%=31 GOTO o% 2500IF n%=38 GOTO o% 2510IF n%=44 GOTO o% 2520 *FX15 2530ENDPROC 2540DEFPROCerror 2550IF -113 VDU22,7:PROCbell2:PROCfinis h 2560VDU22,7:REPORT:PRINT" at line ";ERL :STOP 2570ENDPROC 2580DEFPROCoption:PRINTTAB(12,20)" Pres s any key":PRINTTAB(0,22)"Press Q to QUI T and return to Main Menu":A=GET:PROCbel l2 2590IF A=81 OR A=113 CLS:GOTO130 2600FOR X=3TO23:PRINTTAB(0,X)SPC(40);:N EXT X:ENDPROC 2610DEFPROCoption1:PRINTTAB(5,21)" Pres s any key for another try":PRINTTAB(0,23 )"Press Q to QUIT and return to Main Men u":A=GET:PROCbell2 2620IF A=81 OR A=113 CLS:GOTO130 2630FOR X=10TO23:PRINTTAB(0,X)SPC(40);: NEXT X:ENDPROC 2640DEFPROCtitle:PRINTTAB(7,1)CHR\$141" LOTTERY NUMBERS SELECTOR"TAB(7)CHR\$141" LOTTERY NUMBERS SELECTOR":ENDPROC 2650DEFPROCtitle2(XX):PRINTTAB(5,1)CHR\$ 141" LOTTERY NUMBERS SELECTOR ";XX:PRINT TAB(5,2)CHR\$141" LOTTERY NUMBERS SELECTO R ";XX:ENDPROC 2660DEFPROCfinish:CLS:FOR X=3TO4:PRINTT AB(0,X)CHR\$141" O.K. GOODBYE":NEXT:FOR X =7TO8:PRINTTAB(0,X)CHR\$141" Thank you fo r using this Program":NEXT:FOR X=10TO11: PRINTTAB(0,X)CHR\$141" I hope the numbers it has selected for":NEXT 2670FOR X=13TO14:PRINTTAB(0,X)CHR\$141" you will be very lucky and that you":NEX T:FOR X=16TO17:PRINTTAB(0,X)CHR\$141" win a lot of money !!!":NEXT:PRINTTAB(12,23 )" Press any key":A=GET:PROCbell2 2680PROCstopbell 2690CLS 2700*BASIC 2710END