home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
501-525
/
apd521
/
phonics
/
phonics.amos
/
phonics.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1991-05-14
|
7KB
|
294 lines
'***********************************************
'* Phonics Programme For 5 To 7 Year olds *
'* Written By Colin Edlin *
'* (c) 1991 ColSoft *
'***********************************************
Dim A$(60,4),B(60),C(10)
Global A$(),B(),C(),G,SC,B$,TT,FX,FY,F,LX,WR
Proc INITDATA
Proc TITLE
STRT:
Proc SETUP
Proc SETWORD
If(B$="N") or(B$="n") Then Bob Off : Bob Clear : Edit
Goto STRT
End
Procedure TITLE
Unpack 6 To 0 : Curs Off : Hide
Wait 200
Screen Close 0
Unpack 8 To 2
Screen Open 0,320,266,32,Lowres : Flash Off : Cls 0
Bank Swap 1,9
Screen 0 : Get Palette(2) : Hide
Screen To Front 0 : B=40
Autoback 0
For A=0 To 232
If A/2.2=Int(A/2.2) Then Dec B
Get Bob 2,1,0,A To 320,A+1
Get Bob 2,2,0,A+15 To 320,A+B
No Mask
Paste Bob 0,A,1
Paste Bob 0,A+2,Vrev(2)
Wait Vbl
Next A
Screen Copy 2 To 0
Screen Close 2 : Erase 1
Repeat : Until Fire(1)
Bank Swap 1,9
Proc WIPE
Screen Close 0
End Proc
Procedure INITDATA
For X=1 To 60
For Y=1 To 4
Read A$(X,Y)
Next Y
Read B(X)
Next X
Data "Cat","Sat","Bat","Let",4
Data "Eat","Meat","Rub","Seat",3
Data "Cot","Hot","Jot","Set",4
Data "Hill","Ball","Wall","Fall",1
Data "Miss","But","Nut","Hut",1
Data "Hiss","Miss","Mat","Kiss",3
Data "Can","Pan","Tin","Ran",3
Data "Ham","But","Sam","Pam",2
Data "Tap","Lap","Map","Bat",4
Data "Hid","Rid","Hut","Sid",3
Data "Bad","Rid","Mad","Sad",2
Data "Rod","Rat","Cod","Pod",2
Data "bake","cake","rake","plate",4
Data "Late","Ball","Hate","Gate",2
Data "Jill","Bill","Call","Pill",3
Data "Shell","Well","Pull","Bell",3
Data "Pull","Bull","Hull","Call",4
Data "Hop","Shut","Shop","Pop",2
Data "Shed","Bed","Red","Hop",4
Data "Pop","Lip","Pip","Rip",1
Data "Dad","Bad","Hop","Lad",3
Data "Lad","Hit","Sit","Pit",1
Data "Fan","Sun","Run","Fun",1
Data "Lid","Hid","Bun","Kid",3
Data "Face","Pace","Plate","Race",3
Data "Meat","Heat","Seat","Sit",4
Data "Fair","Hair","Chair","Chap",4
Data "Lid","Bin","Pin","Tin",1
Data "Cut","Fish","But","Hut",2
Data "Take","Lake","Cake","Hunt",4
Data "Car","Far","Call","Bar",3
Data "Wake","Pin","Rake","Make",2
Data "Pan","Pen","Hen","Men",1
Data "Ant","Pant","Hen","Rant",3
Data "Mast","Last","Fish","Past",3
Data "Lock","Tank","Rock","Sock",2
Data "Lamp","Vest","Ramp","Camp",2
Data "Vest","Rest","Pest","Lock",4
Data "Nine","Mine","Pine","Kite",4
Data "Pram","Ham","Land","Sam",3
Data "Land","Sand","Hand","Lit",4
Data "Hop","Pin","Pop","Top",2
Data "Mark","Park","Lark","Land",4
Data "Pond","Jet","Pet","Met",1
Data "Ride","Side","Tide","Land",4
Data "Play","Clay","Say","Pet",4
Data "Can","Pan","Plug","Ran",3
Data "Pad","Mad","Dad","Cat",4
Data "Map","Sap","Cap","Cat",4
Data "Late","Kate","Hate","Cat",4
Data "Tate","Cap","Gate","Rate",2
Data "Car","Far","Jar","Ball",4
Data "Cat","Bike","Like","Mike",1
Data "Late","Plank","Ate","Plate",2
Data "Bank","Pull","Plank","Rank",2
Data "Shade","Glade","Blade","Glad",4
Data "Chop","Cop","Cot","Shop",3
Data "Wait","Bake","Wake","Take",1
Data "Lake","Full","Make","Rake",2
Data "Shut","Run","Rut","Nut",2
End Proc
Procedure SETUP
Unpack 7 To 1 : Curs Off : Flash Off : Hide
Double Buffer
Get Palette(1)
WR=0
FX=30 : FY=157
Bob 1,75,155,17
Bob 4,FX,FY,9
Channel 1 To Bob 1
Channel 2 To Bob 2
Channel 3 To Bob 3
Channel 4 To Bob 4
Amal 1,3
Amal On 1
End Proc
Procedure SETWORD
Randomize Timer
For J=1 To 10
CC:
C(J)=Rnd(59)+1
If C(J)>1 and(C(J)=C(J-1)) Then Goto CC
Next J
SC=0
For TT=1 To 10
Cls 8,70,193 To 260,206
Proc PLACEWORD
Proc MOVEFROG
Next TT
Amal Off
Bob Off
Proc SCORE
End Proc
Procedure PLACEWORD
Ink 7
Gr Writing 0
A=C(TT)
G=B(A)
PP=76
For P=1 To 4
N$=A$(A,P)
Text PP,200,N$
PP=PP+47
Next P
End Proc
Procedure MOVEFROG
Sam Bank 5
RET:
Repeat
Clear Key
CHECK_MOVE
Until Fire(1)
If FX=31 Then F=1
If FX=32 Then F=2
If FX=33 Then F=3
If FX=34 Then F=4
If FX=30 or FX=35 Then Goto RET
Ink 7
If F=G
Bob 3,50,60,22
A$="A 0,(22,10)(23,10);M 270,0,150;P;"
Amal 3,A$ : Amal On 3
SC=SC+1
Pen 6 : Paper 8 : Locate 26,30 : Print SC
Text 100,158,"Correct Answer"
Sam Play 1,2,6000
Wait 50
Sam Play 2,2,6000
Wait 75
Sam Play 1,4,9000
Wait 20
Cls 8,92,150 To 212,159
Else
WRONG
End If
Amal Off 3
End Proc
Procedure WRONG
WR=WR+1
Pen 6 : Paper 8 : Locate 11,30 : Print WR
If G=1 Then LX=75
If G=2 Then LX=119
If G=3 Then LX=164
If G=4 Then LX=209
Bob 2,LX,174,20
Amal 2,4
Amal On 2
Ink 7
Sam Play 10,3,6000
Text 115,158,"It was "+A$(C(TT),G)
Wait 175
Cls 8,100,149 To 212,160
Bob Off 2
Amal Off 2
End Proc
Procedure SCORE
Proc WIPE1
Screen Close 1
Screen Open 0,640,250,16,Hires : Flash Off : Curs Off
Cls 0
If SC>5 Then C$="Good"
If SC>7 Then C$="Very Good"
If SC>8 Then C$="Excellent"
Pen 5 : Paper 0
Locate ,1 : Centre "PHONICS"
Locate ,2 : Centre "~~~~~~~"
Pen 10
Locate ,3 : Centre "By ColSoft"
Pen 4
Locate ,4 : Centre "Written by Colin Edlin"
Pen 11
Locate ,5 : Centre "(c) July 1991 * Version 1.0 *"
Locate 4,8 : Pen 12
Print "this programme is released as shareware. You are encouraged to pass this"
Locate 4,9 : Print "programme on, provided the programme is not modified in any way. If you"
Locate 4,10 : Print "find this programme useful please send a cheque or money order for $5 to"
Locate 4,11 : Print "the address below."
Pen 5
Locate ,12 : Print
Locate 4,13 : Print "Colin Edlin,"
Locate 4,14 : Print "PO Box 1060,"
Locate 4,15 : Print "Young,"
Locate 4,16 : Print "N.S.W."
Locate 4,17 : Print "2594."
Centre "---------------------------------THANKYOU---------------------------------"
Pen 1
Locate 27,20 : Print C$
Pen 15
Locate 27,21 : Print "Your Score was ";SC;" out of 10"
Locate 27,22 : Input "What is your name ";NA$
Locate 27,22 : Print "Thank you for playing "+NA$
Locate 27,23 : Input "Do you want to play again (Y/N) ";B$
Screen Close 0
End Proc
Procedure WIPE
Ink 0
XB=-1
XC=-2
For X=1 To 161
Box 0,0 To XB,270
Box 320,0 To 320-XC,270
XB=XB+2
XC=XC+2
Next X
End Proc
Procedure WIPE1
Ink 0
XB=0
For X=1 To 161
Box -20+XB,0+XB To 320-XB,260-XB
XB=XB+2
Next X
End Proc
Procedure CHECK_MOVE
Clear Key
TEMP$=Inkey$ : TEMP=Scancode
UPPER=Key State(76) or Jup(1)
LOWER=Key State(77) or Jdown(1)
LEFT=Key State(79) or Jleft(1)
RIGHT=Key State(78) or Jright(1)
If RIGHT and FX<35
RIGHT_MOVE
Inc FX
End If
If LEFT and FX>30
LEFT_MOVE
Dec FX
End If
If Timer mod 250=0 and Timer>100 and ENOUGH_MEM Then Sam Play 2,4,9000
End Proc
Procedure LEFT_MOVE
Bob 4,X Bob(4)+4,Y Bob(4)+4,5
Sam Play 12,1,7000
Amal 4,2
Amal On 4
Wait 50
Bob 4,X Bob(4)-4,Y Bob(4)-4,9
End Proc
Procedure RIGHT_MOVE
Bob 4,X Bob(4)+4,Y Bob(4)+4,1
Sam Play 12,1,7000
Amal 4,1
Amal On 4
Wait 50
Bob 4,X Bob(4)-4,Y Bob(4)-4,9
End Proc