home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 4: Demo 1
/
almathera_demo1.bin
/
amos
/
vÄliaikainen.amos
/
vÄliaikainen.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1995-03-16
|
15KB
|
628 lines
Degree
VER$="0.72"
'*** Gamen muuttujat ********************************
Global X1#,Y1#,X2#,Y2#,S1,S2
Global MX1,MY1,MX2,MY2,MSX1,MSY1,MSX2,MSY2
Global T1,T2,KRAD,LOPPUTULI,MMAXS
Global LTIME1,LTIME2,EFFRANGE,LSPEED,LSPEEDV,LOPPUKOMMENTTI$
'*** Alkudemojen ja pilottien muuttujat *************
Dim PILOT$(20),WINS(20),LOSSES(20)
Global PILOT$(),WINS(),LOSSES(),N,NN,N1,N2,ST,UUSIKS
'****************************************************
'
Screen Open 0,320,256,16,Lowres
Flash Off : Get Sprite Palette : Curs Off : Cls 0 : Hide
Screen Display 0,,40,,
Double Buffer
'
KRAD=10
EFFRANGE=60
LVIIVE=50
LSPEED=10
LSPEEDV=Sin(45)*LSPEED
N1=1 : N2=1
'
LATAATAULUKOT
'*****P��OHJELMA*******************************************
'DEMO
Do
Repeat
UKKELINVALINTA
Boom
Screen Close 1
Until Not UUSIKS
ALOITUSJUTUT
'
Repeat
PIKKUJUTUT
STIKIT_SIVUILLE
KAASUTUS
MISSILELAUKAISUT
MISSILET
LASKEPAIKAT
PIIRR�HEMMOT
T�RM�YKSET
KR�SH�YS
Until LOPPUTULI
LOPPUJUTUT
Loop
'
'*****PROCEDURET*******************************************
Procedure DEMO
Paper 0 : Centre At(,14)+"Prepare."
Wait 50 : Fade 2 : Wait 40 : Cls 0
'
Auto View Off
Unpack 7 To 4
Unpack 6 To 2
Screen Open 1,320,256,32,Lowres
Curs Off : Flash Off : Cls 5 : Fade 1 : Wait 20
Screen Open 3,640,10,2,Hires : Curs Off : Cls : Print : Cls
Centre "Press fire to exit."
Screen Display 3,,340,,
Auto View On
'
Screen 1 : Fade 4 To 2 : Wait 80
For V=1 To 5
Ink Rnd(30)+1
For X=0 To 319 Step 2
Y=198-Rnd(140)
Draw X-1,OY To X,Y
OY=Y
Next
Next
Wait 50
'
Appear 2 To 1,67
Screen Close 2
'
For Y=340 To 290 Step -1
Screen Display 3,,Y,,
Wait Vbl
Next
'
Screen 1 : Double Buffer : Colour 5,$666 : Colour 6,$888 : Colour 7,$AAA
'
X1=-5 : Y1=Rnd(246) : SPD1=Rnd(3)+4
X2=-5 : Y2=Rnd(246) : SPD2=Rnd(3)+4
X3=-5 : Y3=Rnd(246) : SPD3=Rnd(3)+4
'
Repeat
Add X1,SPD1
Add X2,SPD2
Add X3,SPD3
If X1>325 Then X1=-5 : Y1=Rnd(246) : SPD1=Rnd(3)+4
If X2>325 Then X2=-5 : Y2=Rnd(246) : SPD2=Rnd(3)+4
If X3>325 Then X3=-5 : Y3=Rnd(246) : SPD3=Rnd(3)+4
Bob 0,X1,Y1,23
Bob 1,X2,Y2,24
Bob 2,X3,Y3,25
Wait Vbl
Until Fire(0) or Fire(1)
'
For Y=290 To 340
Screen Display 3,,Y,,
Wait Vbl
Next
Screen Close 3
'
For X=0 To 64
Add Y1,4 : Add Y2,-4 : Add X3,-6
Bob 0,X1,Y1,23
Bob 1,X2,Y2,24
Bob 2,X3,Y3,25
Wait Vbl
Next : Bob Off
'
Unpack 6 To 2
Screen Close 1
'
For X=0 To 319 Step 2
Screen Copy 4,X,0,X+1,256 To 2,X,0
Wait Vbl
Next
Wait 50
For X=318 To 1 Step -1
Screen Copy 4,X,0,X+1,256 To 2,X,0
Wait Vbl
Next
Screen Close 4
Wait 250
'
Fade 3 : Wait 50
Screen Close 2
CREDITS
'
End Proc
Procedure CREDITS
Screen Open 1,640,266,2,Hires
Palette 0,$A5
Curs Off : Cls : Print : Cls
Centre At(,3)+"---- Pikkualusten Paluu ----"
Centre At(,6)+"Credits:"
Centre At(,10)+"Graphics,"
Centre At(,11)+"Sound,"
Centre At(,12)+"Design,"
Centre At(,13)+"Logo,"
Centre At(,14)+"Stylishing,"
Centre At(,15)+"Idea and"
Centre At(,16)+"Programming"
Centre At(,17)+"by The Famous Lord KV"
Centre At(,19)+"Special Thanks to The FartMaster for Testing."
Centre At(,21)+"Copyright Notice:"
Centre At(,23)+"Don't copy this game."
Centre At(,27)+"1990 � Pl�r� Productions"
Centre At(,31)+"Hail the Great KV and press fire then."
'
Wait 150
Def Scroll 1,0,Y Graphic(31) To 640,256,-2,0
T$=T$+"'Pikkualusten Paluu' was brought to you by Pl�r� Productions. "
T$=T$+"It was programmed using AMOS Basic (� Mandarin Software / Jawx) "
T$=T$+"and DeluxePaint III (� Electronic Arts / Dan Silva). "
T$=T$+"Try also other official Pl�r� Products, like: Tykkipeli (Amiga) "
T$=T$+"- MVDesignDemo (or '�rkkirunkku'... Demo for Amiga) - "
T$=T$+"P&GB 2nd Edition (Role-Playing Game)..... May the Pl�r� be with you! "
T$=T$+" � 1991 Pl�r� Productions -'We create hi-tech simulations' "
T$=T$+"Vuosi: 4300. Paikka: UEA (Universal Entertainers Arena) , Ksiloh 4. "
T$=T$+"Vuoden 3978 sodan j�lkeen ihmiskunta melkein tuhoutui. Biljoonia kuoli "
T$=T$+"sodissa, jotka k�ytiin puhtaasta vedest�, viimeisist� siirtokuntien "
T$=T$+"�ljynrippeist�, ja ruoasta. Taistelu olemassaolosta on kovaa. Monien "
T$=T$+"siirtokuntien ainoa selviytymisen edellytys ovat s��nn�lliset kauppalaivueet, "
T$=T$+"lastattuina ruoalla, ja - aseilla. Ainoa huvitus ovat "
T$=T$+"'turnajaiset', joita j�rjestet��n kokeneiden pilottien v�lille. "
T$=T$+" Sin� olet yksi n�ist� piloteista. "
T$=T$+"Now we'll see how tough you really are..... HAHAHAHAHAHAHAaaaaaaaaaaargh..."
T$=T$+" KV signing off..... -CLICK- "
T$=T$+" "
X=0 : Y=0
Repeat
If Y=0 Then Inc X : Text X Graphic(78),Y Graphic(31)+6,Mid$(T$,X,1)
Inc Y : If Y>3 Then Y=0
If X>Len(T$) Then X=1
Scroll 1
Wait Vbl
Until Fire(0) or Fire(1)
T$="" : Fade 3 : Wait 50 : Screen Close 1
End Proc
Procedure ALOITUSJUTUT
If Rnd(1)=0
X1#=Rnd(150) : Y1#=Rnd(230)+10
X2#=Rnd(150)+160 : Y2#=Rnd(230)+10
Else
X2#=Rnd(150) : Y2#=Rnd(230)+10
X1#=Rnd(150)+160 : Y1#=Rnd(230)+10
End If
S1=Rnd(7)+1 : S2=Rnd(7)+1
LOPPUTULI=0
LOPPUKOMMENTTI$=""
LTIME1=0 : LTIME2=0
MSX1=0 : MSY1=0 : MSX2=0 : MSY2=0 : ST=0
Get Sprite Palette
Paper 0 : Pen 3
Cls 0 : Centre At(,12)+"Prepare for Battle!!"
Wait 50 : Cls 0
End Proc
Procedure PIKKUJUTUT
If T1>0 Then Dec T1
If T2>0 Then Dec T2
If LTIME1>0 Then Dec LTIME1
If LTIME2>0 Then Dec LTIME2
End Proc
Procedure STIKIT_SIVUILLE
'Pienet stikkuliinot
If T1=0
If Jright(0)
Inc S1 : T1=KRAD
End If
If Jleft(0)
Dec S1 : T1=KRAD
End If
End If
'
If T2=0
If Jleft(1)
Dec S2 : T2=KRAD
End If
If Jright(1)
Inc S2 : T2=KRAD
End If
End If
' Menik� yli
If S1<1 Then S1=8
If S1>8 Then S1=1
If S2<1 Then S2=8
If S2>8 Then S2=1
End Proc
Procedure KAASUTUS
If Jup(0)
If S1=1
Y1#=Y1#-2
End If
If S1=2
X1#=X1#+1.41
Y1#=Y1#-1.41
End If
If S1=3
X1#=X1#+2
End If
If S1=4
X1#=X1#+1.41
Y1#=Y1#+1.41
End If
If S1=5
Y1#=Y1#+2
End If
If S1=6
X1#=X1#-1.41
Y1#=Y1#+1.41
End If
If S1=7
X1#=X1#-2
End If
If S1=8
X1#=X1#-1.41
Y1#=Y1#-1.41
End If
End If
'******
If Jup(1)
If S2=1
Y2#=Y2#-2
End If
If S2=2
X2#=X2#+1.41
Y2#=Y2#-1.41
End If
If S2=3
X2#=X2#+2
End If
If S2=4
X2#=X2#+1.41
Y2#=Y2#+1.41
End If
If S2=5
Y2#=Y2#+2
End If
If S2=6
X2#=X2#-1.41
Y2#=Y2#+1.41
End If
If S2=7
X2#=X2#-2
End If
If S2=8
X2#=X2#-1.41
Y2#=Y2#-1.41
End If
End If
End Proc
Procedure LASKEPAIKAT
If X1#<0 Then X1#=0
If X1#>320 Then X1#=320
If Y1#<0 Then Y1#=0
If Y1#>255 Then Y1#=255
'
If X2#<0 Then X2#=0
If X2#>320 Then X2#=320
If Y2#<0 Then Y2#=0
If Y2#>255 Then Y2#=255
End Proc
Procedure PIIRR�HEMMOT
Bob 1,X1#,Y1#,S1
Bob 2,X2#,Y2#,S2+9
End Proc
Procedure MISSILELAUKAISUT
If Fire(0)
If LTIME1=0
LTIME1=EFFRANGE
MX1=X1# : MY1=Y1#
Shoot
If S1=1
MSY1=-LSPEED
MSX1=0
End If
If S1=2
MSX1=LSPEEDV
MSY1=-LSPEEDV
End If
If S1=3
MSX1=LSPEED
MSY1=0
End If
If S1=4
MSX1=LSPEEDV
MSY1=LSPEEDV
End If
If S1=5
MSY1=LSPEED
MSX1=0
End If
If S1=6
MSX1=-LSPEEDV
MSY1=LSPEEDV
End If
If S1=7
MSX1=-LSPEED
MSY1=0
End If
If S1=8
MSX1=-LSPEEDV
MSY1=-LSPEEDV
End If
End If
End If
'***
If Fire(1)
If LTIME2=0
LTIME2=EFFRANGE
MX2=X2# : MY2=Y2#
Shoot
If S2=1
MSY2=-LSPEED
MSX2=0
End If
If S2=2
MSX2=LSPEEDV
MSY2=-LSPEEDV
End If
If S2=3
MSX2=LSPEED
MSY2=0
End If
If S2=4
MSX2=LSPEEDV
MSY2=LSPEEDV
End If
If S2=5
MSY2=LSPEED
MSX2=0
End If
If S2=6
MSX2=-LSPEEDV
MSY2=LSPEEDV
End If
If S2=7
MSX2=-LSPEED
MSY2=0
End If
If S2=8
MSX2=-LSPEEDV
MSY2=-LSPEEDV
End If
End If
End If
End Proc
Procedure MISSILET
Add MX1,MSX1
Add MY1,MSY1
If LTIME1>LVIIVE
Bob 3,MX1,MY1,9
Else
MSX1=0 : MSY1=0
Bob Off 3
End If
'****
Add MX2,MSX2
Add MY2,MSY2
If LTIME2>LVIIVE
Bob 4,MX2,MY2,18
Else
MSX2=0 : MSY2=0
Bob Off 4
End If
End Proc
Procedure T�RM�YKSET
If Bob Col(3,2 To 2)
Bob Off 2
For X=19 To 22
Boom
Bob 3,X2#,Y2#,X
Wait 6
Next
Inc WINS(N1)
Inc LOSSES(N2)
LOPPUTULI=-1
LOPPUKOMMENTTI$=PILOT$(N1)+" voitti!"
End If
If Bob Col(4,1 To 1)
Bob Off 1
For X=19 To 22
Boom
Bob 4,X1#,Y1#,X
Wait 6
Next
Inc WINS(N2)
Inc LOSSES(N1)
LOPPUTULI=-1
If LOPPUKOMMENTTI$=""
LOPPUKOMMENTTI$=PILOT$(N2)+" voitti!"
Else
LOPPUKOMMENTTI$="Tasapeli."
End If
End If
End Proc
Procedure KR�SH�YS
If Bob Col(1,2 To 2)
Bob Off
For X=18 To 21
Bob 15,(X1#+X2#)/2,(Y1#+Y2#)/2,X
Wait 7 : Wait Vbl
Boom
Next
LOPPUTULI=-1
LOPPUKOMMENTTI$="Fatal Crash !!"
End If
End Proc
Procedure UKKELINVALINTA
If UUSIKS Then UUSIKS=0
Screen Open 1,640,256,8,Hires
Paper 0 : Curs Off : Cls 0 : Print : Cls 0
'
Pen 7 : Centre At(,31)+"Press <S> to Save roster"
Print At(0,7)+" ******* Pilot ******** **** Battles won / lost ****" : Pen 1
'
Pen 1
For X=1 To 20
Print At(15,X+8)+PILOT$(X)+Space$(30)+At(50,X+8)+Str$(WINS(X))+At(60,X+8)+Str$(LOSSES(X))
Next
Pen 3 : Print At(5,2)+"Player 1" : Pen 7
Centre At(,2)+": Choose pilot with joystick. Press fire when done"
Centre At(,3)+" or <Space> to enter new name. "
N=N1 : NN=N
Repeat
STIKUJUTTU1
Wait 3 : I$=Inkey$
If I$=" " Then NIMENVAIHTO
If I$="s"
If ST=0
TALLETATAULUKOT
Else
Pen 7 : Centre At(,31)+" The Roster is already saved! "
End If
End If
If I$="q" Then NOLLAATAULUKKO
If I$="l" Then LATAILEPPAS
If UUSIKS Then Pop Proc
Until Fire(0)
'
N1=N
N=N2
'
Boom
'
Pen 3 : Print At(5,2)+"Player 2" : Pen 1
Repeat
STIKUJUTTU2
Wait 3 : I$=Inkey$
If(I$=" ") and(N<>N1)
NIMENVAIHTO
End If
If I$="s"
If ST=0
TALLETATAULUKOT
Else
Pen 7
Centre At(,31)+"I said the roster was saved! Can't you read or what?"
End If
End If
If I$="q" Then NOLLAATAULUKKO
If I$="l" Then LATAILEPPAS
If UUSIKS Then Pop Proc
Until Fire(1) and N<>N1
'
N2=N
'
End Proc
Procedure STIKUJUTTU1
If Jup(0) Then NN=N : Dec N
If Jdown(0) Then NN=N : Inc N
If N<1 Then N=1
If N>20 Then N=20
If NN<>N
Pen 1
Print At(15,NN+8)+PILOT$(NN)+Space$(30)+At(50,NN+8)+Str$(WINS(NN))+At(60,NN+8)+Str$(LOSSES(NN))
End If
Pen 3
Print At(15,N+8)+PILOT$(N)+Space$(30)+At(50,N+8)+Str$(WINS(N))+At(60,N+8)+Str$(LOSSES(N))
End Proc
Procedure STIKUJUTTU2
If Jup(1) Then NN=N : Dec N
If Jdown(1) Then NN=N : Inc N
If N<1 Then N=1
If N>20 Then N=20
If NN<>N
Pen 1
Print At(15,NN+8)+PILOT$(NN)+Space$(30)+At(50,NN+8)+Str$(WINS(NN))+At(60,NN+8)+Str$(LOSSES(NN))
End If
Pen 3
Print At(15,N+8)+PILOT$(N)+Space$(30)+At(50,N+8)+Str$(WINS(N))+At(60,N+8)+Str$(LOSSES(N))
End Proc
Procedure NIMENVAIHTO
Screen Open 2,640,56,2,Hires
Palette $333,SF2
Screen Display 2,,140,,
Centre "Old name:"
Centre At(,1)+PILOT$(N)+" - "+Str$(WINS(N))+" pts."
Centre At(,3)+"Enter new name:"
Locate 0,4 : Input PILOT$(N)
WINS(N)=0 : Screen Close 2
End Proc
Procedure LOPPUJUTUT
Fade 1 : Wait 20 : Bob Off
Cls 0 : Colour 1,$AAA
Pen 1 : Centre At(,14)+LOPPUKOMMENTTI$
Wait 40 : Fade 1 : Wait 20 : Cls 0
End Proc
Procedure LATAATAULUKOT
If Exist("df0:Pikkupilotit")
Open In 1,"df0:Pikkupilotit"
For X=1 To 20
Input #1,PILOT$(X)
Input #1,WINS(X)
Input #1,LOSSES(X)
Next
Close 1
Else
Screen Open 1,640,50,2,Hires : Curs Off
Screen Display 1,,100,,
Centre At(,2)+"!!! Can't find file 'DF0:Pikkupilotit' !!!"
Wait 150
Screen Close 1
End If
End Proc
Procedure TALLETATAULUKOT
If Exist("df0:")
Open Out 1,"df0:Pikkupilotit"
For X=1 To 20
Print #1,PILOT$(X)
Print #1,WINS(X)
Print #1,LOSSES(X)
Next
Close 1
ST=1
Pen 1 : Centre At(,31)+" Roster saved. "
Clear Key : Wait 50
Else
Screen Open 1,640,50,2,Hires : Curs Off
Screen Display 1,,100,,
Centre At(,2)+"!!! No disc in drive DF0: !!!"
Wait 150
Screen Close 1
End If
End Proc
Procedure NOLLAATAULUKKO
Pen 1 : Centre At(14,31)+"Do you REALLY want to zero the roster ?!? (Y/N) "
Wait 20 : Clear Key
Repeat : K$=Inkey$ : Until K$<>""
If K$="y"
For X=1 To 20
PILOT$(X)="---"
WINS(X)=0
LOSSES(X)=0
Next
UUSIKS=-1
Centre At(,31)+" !!! The roster is zeroed (but not saved, luckily) !!! "
Wait 70
Else
Centre At(,31)+" Task canceled. "
End If
Wait 50
If ST<>1 Then Pen 7 : Centre At(,31)+" Press <S> to Save roster "
Clear Key
End Proc
Procedure LATAILEPPAS
Clear Key : Pen 1
Centre At(,31)+" Do you want to load Roster from the disc? (Y/N) "
Clear Key : Repeat : K$=Inkey$ : Until K$<>""
If K$="y"
UUSIKS=-1
LATAATAULUKOT
Centre At(,31)+" OK. Roster loaded. Hope you won't regret this. "
Wait 70
Else
Centre At(,31)+" Loading canceled. "
End If
Wait 50
If ST<>1 Then Pen 7 : Centre At(,31)+" Press <S> to Save roster "
Clear Key
End Proc