home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
501-525
/
apd519
/
lottomagic
/
lottomagic.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1992-01-03
|
8KB
|
403 lines
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Lotto V1.0
'
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'
'
Dim RANDNUMS(44),FINAL6(5),STATS(44),LASTDRAW(7)
Global RANDNUMS(),FINAL6(),GOT_NUMS,STATS(),LASTDRAW()
Shift Off
Fade 15
Wait 225
Proc SHUT_SCREENS
Proc MAKE_SCREENS
Proc MAINLOOP
Procedure SCRNDWN
For I=150 To 220
Screen Display 0,,I,,
Wait Vbl
Next I
Screen 0
Pen 1
Paper 7
Cdown
End Proc
Procedure SCRNUP
For I=220 To 150 Step -1
Screen Display 0,,I,,
Wait Vbl
Next I
Unpack 8 To 0
Screen To Back 0
Screen 1
End Proc
Procedure QUIT
Screen 0
Locate 0,1
Pen 1
Paper 7
Centre "This program is copyright"
Cdown
Centre "1992 Hitman/Karma Productions."
Cdown
Centre "LottoMagic V1.0 is FreeWare."
Screen 1
Fade 15
For I=0 To 128
Screen Display 1,,40+I,,256-(2*I)
Mvolume 63-(0.492187*I)
Wait Vbl
Next I
Music Off
Screen Close 1
Mvolume 63
For I=150 To 260
Screen Display 0,,I,,
Wait Vbl
Next I
Wait 200
For I=260 To -100 Step -10
Screen Display 0,,I,,
Wait Vbl
Next I
Proc SHUT_SCREENS
Run "loader"
End Proc
Procedure BLANK[N]
Screen N
Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
End Proc
Procedure SHUT_SCREENS
While Screen<>-1
Screen Close Screen
Wend
End Proc
Procedure MAKE_SCREENS
Break Off
Close Workbench
Close Editor
Led Off
Load "fx/popcorn.abk"
Music 1
Change Mouse 2
Show On
Unpack 6 To 1
X Mouse=287
Y Mouse=123
Double Buffer
Reserve Zone 5
Set Zone 1,7,7 To 48,27
Set Zone 2,12,53 To 70,74
Set Zone 3,130,52 To 188,73
Set Zone 4,249,52 To 307,73
Set Zone 5,94,91 To 227,116
Screen Hide 1
Unpack 7 To 2
Unpack 8 To 0
Screen Hide 0
Screen To Back 0
BLANK[1]
Screen Show 1
Screen Show 0
Fade 5 To 2
Wait 75
Bob 0,13,20,3
Bob 1,131,20,1
Bob 2,250,20,5
Limit Bob 0,52 To 320,74
For I=20 To 54
Bob 0,,I,
Wait Vbl
Next I
For I=20 To 53
Bob 1,,I,
Wait Vbl
Next I
For I=20 To 53
Bob 2,,I,
Wait Vbl
Next I
Bob 3,8,30,9
Limit Bob 0,7 To 48,27
For I=27 To 8 Step -1
Bob 3,,I,
Wait Vbl
Next I
Bob 4,95,60,7
Limit Bob 80,91 To 240,116
For I=60 To 92
Bob 4,,I,
Wait Vbl
Next I
Bob 5,49,138-30,10
Bob 6,87,138+30,10
Bob 7,125,138-30,10
Bob 8,163,138+30,10
Bob 9,201,138-30,10
Bob 10,239,138+30,10
Limit Bob 0,139 To 320,158
For I=108 To 138
Bob 5,,I,
Bob 7,,I,
Bob 9,,I,
Wait Vbl
Next I
For I=168 To 138 Step -1
Bob 6,,I,
Bob 8,,I,
Bob 10,,I,
Wait Vbl
Next I
For I=138 To 108 Step -1
For J=5 To 10
Bob J,,I,
Next J
Wait Vbl
Next I
End Proc
Procedure MY_CREDS
Bob 1,,,2
Hide
For I=320 To 40 Step -2
Screen Display 2,,I,,
Wait Vbl
Next I
Repeat
Until Mouse Key
For I=40 To -216 Step -4
Screen Display 2,,I,,
Wait Vbl
Next I
Unpack 7 To 2
Screen 1
Bob 1,,,1
X Mouse=287
Y Mouse=123
Show
End Proc
Procedure GEN_NUMBERS
Bob 0,,,4
Wait Vbl
Hide
Limit Bob 0,139 To 320,158
For I=108 To 138 Step 2
For J=5 To 10
Bob J,,I,
Next J
Wait Vbl
Next I
Randomize Timer
For I=0 To 44
RANDNUMS(I)=I+1
Next I
For I=0 To 5
RAND=Rnd(44-I)
FINAL6(I)=RANDNUMS(RAND)
RANDNUMS(RAND)=99
Sort RANDNUMS(0)
Next I
Sort FINAL6(0)
Ink 1,0
For I=1 To 6
Text 20+(I*38),150," "
Next I
For I=1 To 6
Text 20+(I*38),150,Str$(FINAL6(I-1))-" "
Next I
For I=138 To 108 Step -2
For J=5 To 10
Bob J,,I,
Next J
Wait Vbl
Next I
GOT_NUMS=True
Limit Bob
X Mouse=187
Y Mouse=123
Show
Bob 0,,,3
End Proc
Procedure ENTER_NUMBERS
Bob 4,,,8
Hide
Clear Key
STAT_LOAD
SCRNDWN
Centre "Last draws number entry......"
Locate 1,2
For I=0 To 7
Read A$
Locate 1,2
Print " "
Locate 1,2
Print "Enter ";A$;" number >";
Input LASTDRAW(I)
Next I
Sort LASTDRAW(0)
For I=0 To 7
If LASTDRAW(I)>45 or LASTDRAW(I)<=0
WRONG_NUMS=True
End If
Next I
If WRONG_NUMS=True
SCRNUP
SCRNDWN
Centre "Some numbers incorrect."
Wait 100
Else
SCRNUP
SCRNDWN
Centre "The numbers were:"
Locate 2,2
For I=0 To 6
W$=W$+Str$(LASTDRAW(I))+","
Next I
W$=W$+Str$(LASTDRAW(7))+"."
Centre W$
Cdown
Centre "Correct Y/N ?"
ANS$=Input$(1)
If Upper$(ANS$)<>"Y"
WRONG_NUMS=True
End If
End If
If WRONG_NUMS=False
For I=0 To 7
Inc STATS(LASTDRAW(I)-1)
Next I
Open Out 1,"Lotto.stats"
For I=0 To 44
Print #1,STATS(I)
Next I
Close 1
End If
SCRNUP
Bob 4,,,7
X Mouse=287
Y Mouse=123
Show
Data "first","second","third","fourth","fifth","sixth","first supp.","second supp."
End Proc
Procedure PR_NUMS
Lprint "Here are some (hopefully) lucky numbers:"
Lprint
For I=0 To 5
Lprint FINAL6(I),
Next I
Lprint
Lprint
Lprint
Wait 50
End Proc
Procedure STAT_GEN
Randomize Timer
Bob 2,,,6
Wait Vbl
Hide
Limit Bob 0,139 To 320,158
For I=108 To 138 Step 2
For J=5 To 10
Bob J,,I,
Next J
Wait Vbl
Next I
STAT_LOAD
For I=0 To 44
RANDNUMS(I)=99
Next I
TIMES=0
POS=0
Repeat
For I=0 To 44
If STATS(I)=TIMES
RANDNUMS(POS)=I+1
Inc POS
End If
Next I
Inc TIMES
Until POS>9
Sort RANDNUMS(0)
For I=1 To 6
RAND=Rnd(POS-I)
FINAL6(I-1)=RANDNUMS(RAND)
RANDNUMS(RAND)=99
Sort RANDNUMS(0)
Next I
Sort FINAL6(0)
Ink 1,0
For I=1 To 6
Text 20+(I*38),150," "
Next I
For I=1 To 6
Text 20+(I*38),150,Str$(FINAL6(I-1))-" "
Next I
For I=138 To 108 Step -2
For J=5 To 10
Bob J,,I,
Next J
Wait Vbl
Next I
GOT_NUMS=True
Limit Bob
X Mouse=387
Y Mouse=123
Show
Bob 2,,,5
End Proc
Procedure MAINLOOP
Limit Bob
Repeat
If Mouse Key=1
If Mouse Zone=1
QUIT=True
End If
If Mouse Zone=2
GEN_NUMBERS
End If
If Mouse Zone=3
MY_CREDS
End If
If Mouse Zone=4
STAT_GEN
End If
If Mouse Zone=5
ENTER_NUMBERS
End If
End If
If Mouse Key=2
If GOT_NUMS=True
PR_NUMS
Else
SCRNDWN
Centre "Nothing to print !!"
Wait 100
SCRNUP
End If
End If
Until QUIT=True
Proc QUIT
End Proc
Procedure STAT_LOAD
If Exist("Lotto.stats")
SCRNDWN
Centre "Reading statistics...."
Open In 1,"Lotto.stats"
For I=0 To 44
Input #1,STATS(I)
Next I
Wait 50
SCRNUP
Close 1
Else
SCRNDWN
Centre "Unable to locate stats...."
Cdown
Centre "Creating file."
Open Out 1,"Lotto.stats"
For I=0 To 44
Print #1,0
Next I
Close 1
SCRNUP
End If
End Proc