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