home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
demos
/
frantixfull.amos
/
frantixfull.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1978-12-30
|
22KB
|
646 lines
Procedure INFO
Rem^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Rem ^^^^^^ Frantix was started on Monday 9th July '90 ^^^^^^^^^^^^^
Rem ^^^^^^Technichally finished,I ran into an official AMOS bug ^^^^
Rem ^^^^^ that caused problems with variables.I restarted the code ^
Rem ^^^^^ on 28 Sept,replacing variables with AMAL Registers. ^^^^^^
Rem ^^^^ Finished (hopefully) on 1st Oct '90 ^^^^^^
Rem ^^^^ Ready to send to a magazine : Fully DE-Bugged 2nd Oct ^^^^^
Rem ^^^^ OOOOPS ! Final Bug fixed on 5 Dec '90 (Honest) ^^^^^
Rem ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
End Proc
Global STAT1,STAT2,SET,LIGHT,BOM,GEM,MYS
Screen Open 1,350,230,32,Lowres
Screen Display 1,125,,,
Change Mouse 3
Curs Off : Flash Off
Hide On
Get Sprite Palette
Cls 0 : For STRS=1 To 150 : Plot Rnd(350),Rnd(220),4 : Next STRS
Sprite 0,0,0,14 : Sprite 4,0,0,17
Make Mask
Double Buffer
SQIGGLY
Noise To 8 : Rem assign noise to voice 3
CHOOSE: Set Rainbow 0,1,64,"(1,1,18)","",""
Rainbow 0,30,100,85
Paper 1 : Pen 7
Locate 1,9 : Print " "
Locate 1,10 : Print " Press Fire To Play "
Locate 1,11 : Print " "
Wait Vbl : Locate 1,12 : Print " Or 'I' For Instructions "
Locate 1,13 : Print " Keep Fire Pressed During Instructions "
Locate 1,14 : Print " To Start Game "
Locate 1,15 : Print " Press 'm' for menu. "
Locate 10,20 : Pen 6 : Print " * F R A N T I X * "
Screen 1
If Fire(1) Then Flash Off : Goto RESTART
If Inkey$="i" Then Flash Off : Play 1,91,1 : TITLE
If Inkey$="m" Then Run "choose.amos"
Goto CHOOSE
TITLE
RESTART: Rem restart next game
Cls 0
Rainbow 0,,280,
Amal Off(8) : Amal Off(9)
Sprite Off(8) : Sprite Off(9)
Amal 8,"L RD=3" : Amal On(8) : Rem SET LIVES
Amal 9,"L RE=3" : Amal On(9)
Paper 0 : Locate 1,3 : Print Amreg(4) : Locate 30,3 : Print Amreg(3)
SET=0 : Rem set=0 ;=1 when exchange routine initiated
LIGHT=0
GEM=0
MYS=0
Procedure SETCHANN
Amal Off
Channel 1 To Sprite 0
Channel 8 To Sprite 0
Channel 2 To Sprite 4
Channel 9 To Sprite 4
Rem Channels 8-9 allocated to Sprites 8-9 (default)
Amal 1,"(Anim 0,(14,5)(15,5)(16,8)(17,8)(16,5)(15,5)"
Amal On 8
Amal 2,"(Anim 0,(18,5)(19,5)(20,8)(21,5)(20,5)(19,5)"
Amal On 1 : Amal On 2
Channel 3 To Bob 58
Channel 4 To Bob 59
Channel 5 To Bob 62
Channel 6 To Bob 63 : Rem Green counter
Channel 7 To Bob 57 : Rem Blue counter
End Proc
Procedure TILEDRAW
Rem Define BOB images------------------------------------------
For B1=1 To 6 : Bob B1,350,0,1 : Next B1
For B2=7 To 12 : Bob B2,350,0,2 : Next B2
For B3=13 To 18 : Bob B3,350,0,3 : Next B3
Bob 19,350,0,8 : Bob 20,350,0,8 : Rem these are 2 extra Lightbulbs
For B4=21 To 24 : Bob B4,350,0,4 : Next B4
For B5=25 To 27 : Bob B5,350,0,5 : Next B5
For B6=28 To 30 : Bob B6,350,0,6 : Next B6
For B7=31 To 33 : Bob B7,350,0,11 : Next B7
For B8=34 To 37 : Bob B8,350,0,7 : Next B8
For B9=38 To 41 : Bob B9,350,0,8 : Next B9
For B10=42 To 48 : Bob B10,350,0,10 : Next B10
For B11=49 To 53 : Bob B11,350,0,9 : Next B11
For B12=54 To 56 : Bob B12,350,0,12 : Next B12
Rem Bobs defined,now position then-----------------------------
TILESORT
TILEMIX
Locate 1,1 : Paper 0 : Pen 8 : Centre "Finished Shuffling."
End Proc
Procedure TILESORT
TILY=40
For TILES=1 To 7
Bob TILES,28,TILY, : Play 1,Rnd(20),4 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=8 To 14
Bob TILES,62,TILY, : Play 1,Rnd(30),4 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=15 To 21
Bob TILES,96,TILY, : Play 1,Rnd(40),4 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=22 To 28
Bob TILES,130,TILY, : Play 1,Rnd(40),4 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=29 To 35
Bob TILES,164,TILY, : Play 1,Rnd(40),4 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=36 To 42
Bob TILES,198,TILY, : Play 1,Rnd(40),4 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=43 To 49
Bob TILES,232,TILY, : Play 1,Rnd(40),1 : TILY=TILY+20 : Next TILES
TILY=40
For TILES=50 To 56
Bob TILES,266,TILY, : Play 1,Rnd(40),1 : TILY=TILY+20 : Next TILES
Wait 60
End Proc
Procedure TILEMIX
RCHECK=99
Randomize Timer
1 For RTILE=1 To 56 : RT=Rnd(55) : If RT=0 Then RT=56 : If RT=RCHECK Then RT=Rnd(55)+1
NEWX=X Bob(RT) : NEWY=Y Bob(RT)
Bob RT,X Bob(RTILE),Y Bob(RTILE), : Bob RTILE,NEWX,NEWY,
Play 1,30,0 : RTCHECK=RT : Next RTILE
End Proc
Procedure PPOS1
Get Sprite Palette
STAT1=98
Rem
Locate 1,3 : Print Amreg(4)
Locate 30,3 : Print Amreg(3)
If Amreg(3)=0 : Locate 1,1 : Print "BLUE player Wins..." : Wait 250
For B=1 To 56 : Bob B,20,20,1 : Next B
Goto RESTART : End If
Locate 1,1 : Paper 0 : Pen 7 : Centre "GREEN PLAYER CHOOSE START POSITION"
PP1=42
PCHOOSE1: Rem player 1 chooses initial tile
If PP1>162 Then PP1=42
If PP1<42 Then PP1=162
Bob 64,290,PP1,0
If Jdown(1) Then Wait 9 : Play 1,40,0 : PP1=PP1+20
If Jup(1) Then Wait 9 : Play 1,35,0 : PP1=PP1-20
If Fire(1) Then Goto DROIDPOS1
SY=Y Hard(1,Y Bob(64))
Sprite 0,410,SY,14
Goto PCHOOSE1
DROIDPOS1: Rem
DY=Y Screen(PP1)
Sprite 0,384,PP1+48,14
Play 1,60,2
Wait 20
Bob 64,,,0
Amal 8,"L RC=2" : Amal On(8)
Locate 1,1 : Print " "
End Proc
Procedure PPOS2
Get Sprite Palette
STAT2=99
If Amreg(4)=0 : Locate 1,1 : Print "GREEN Player Wins" : Wait 250
For B=1 To 56 : Bob B,20,20,1 : Next B
Goto RESTART : End If
Locate 1,1 : Paper 0 : Pen 8 : Centre "BLUE PLAYER CHOOSE START POSITION"
PP2=42
PCHOOSE2: Rem player 1 chooses initial tile
If PP2>162 Then PP2=42
If PP2<42 Then PP2=162
Bob 64,20,PP2,0
If Jdown(0) Then Wait 9 : Play 1,40,0 : PP2=PP2+20
If Jup(0) Then Wait 9 : Play 1,35,0 : PP2=PP2-20
If Fire(0) Then Goto DROIDPOS2
SY=Y Hard(1,Y Bob(64))
Sprite 4,120,SY,18
Goto PCHOOSE2
DROIDPOS2: Rem
Bob 64,,,0
DY=Y Screen(PP2)
Sprite 4,147,PP2+48,18
Play 1,70,3
Bob 64,0,0,0
Rem (RC)=nextmove
Amal 9,"L RC=1" : Amal On(9)
Locate 1,1 : Print " "
End Proc
SETCHANN
TILEDRAW
ARROW1 : ARROW2
Sprite 0,0,0,14
Sprite 4,0,0,17
Procedure ARROW1
Rem set TimerArrows.1..
Bob 58,10,170,22 : Bob 60,10,195,24
End Proc
Procedure ARROW2
Bob 59,305,170,23 : Bob 61,305,195,24
End Proc
PPOS1
PPOS2
STRT: Rem
Procedure GEMMOVE
BLUE$="Loop:Move -16,0,60 ; M 0,0,90 ; M 0,0,90 ;M 16,0,40 ; Pause ;J Loop"
GREEN$="Loop:Move 16,0,60 ; M 0,0,90 ; M 0,0,90 ; M -16,0,40 ; Pause; J Loop"
Amal 7,BLUE$ : Amal 6,GREEN$
Amal On 7 : Amal On 6
End Proc
Bob Update Off
Bob 57,34,105,74 : Rem Position GEMS
Bob 63,280,105,75
GEMMOVE
Update Every 1
Do
GEMCHECK1
HIT
If Amreg(0)=1 Then Goto SKIPMV1
If Amreg(2)=1 Then GO2
HIT
SKIPMV1: Rem
If Amreg(1)=1 Then Goto SKIPMV2
If Amreg(2)=2 Then GO1
SKIPMV2: Rem
Wait Vbl : Bob Update
Loop
Procedure STATHIT1
If Amreg(1)=1 Then Goto SKIPSTATS
If Amreg(0)=1 Then Goto SKIPSTATS
If Spritebob Col(0,1 To 6) Then STAT1=1 : SET=0
If Spritebob Col(4,1 To 6) Then STAT2=1 : SET=0
If Spritebob Col(0,7 To 12) Then STAT1=2 : SET=0
If Spritebob Col(4,7 To 12) Then STAT2=2 : SET=0
If Amreg(18)=1 Then Goto SKIPX
If Spritebob Col(0,13 To 18) Then STAT1=3
If Spritebob Col(4,13 To 18) Then STAT2=3
SKIPX: Rem skip exchange routine if already happening
If Spritebob Col(0,21 To 24) Then STAT1=4 : SET=0
If Spritebob Col(4,21 To 24) Then STAT2=4 : SET=0
If Spritebob Col(0,25 To 27) Then STAT1=5 : SET=0
If Spritebob Col(4,25 To 27) Then STAT2=5 : SET=0
If GEM=1 Then Goto SKIPGEM
If Spritebob Col(0,28 To 30) Then STAT1=6 : SET=0
If Spritebob Col(4,28 To 30) Then STAT2=6 : SET=0
SKIPGEM: Rem Skip GemSwitch routine if already in use
If Spritebob Col(0,31 To 33) : Amal 1,"L RD=RD-1;A 1,(37,5)(38,5)(39,5)(40,5)(41,5)(42,5)(43,4)(44,5)(0,5)"
Amal On 1 : Play 90,1 : Wait 170 : Locate 30,3 : Print Amreg(3)
PPOS1 : PPOS2 : End If
If Spritebob Col(4,31 To 33) : Amal 2,"L RE=RE-1;A 1,(37,5)(38,5)(39,5)(40,5)(41,5)(42,5)(43,4)(44,5)(0,5)"
Amal On 2 : Play 90,1 : Wait 170 : Locate 1,3 : Print Amreg(4)
PPOS2 : PPOS1 : End If
SKIPSTATS: Rem
End Proc
Procedure STATHIT2
If Amreg(1)=1 Then Goto SKIPSTATS2
If Amreg(0)=1 Then Goto SKIPSTATS2
If Spritebob Col(0,34 To 37) Then SPLASH1
If Spritebob Col(4,34 To 37) Then SPLASH2
If LIGH=1 Then Goto MISSLIGHT
If Spritebob Col(0,19 To 20) Then STAT1=9 : Rem Bobs 19-20 now light icons
If Spritebob Col(4,19 To 20) Then STAT2=9
If Spritebob Col(0,38 To 41) Then STAT1=9
If Spritebob Col(4,38 To 41) Then STAT2=9
MISSLIGHT: Rem Lights already off
If Spritebob Col(0,42 To 48) Then STAT1=10 : Rem Bob 48=blank
If Spritebob Col(4,42 To 48) Then STAT2=10
If MYS=1 Then Goto MISSMYS
If Spritebob Col(0,49 To 53) Then STAT1=11
If Spritebob Col(4,49 To 53) Then STAT2=11
MISSMYS: Rem miss mysterymove
If Spritebob Col(0,54 To 56) Then STAT1=12
If Spritebob Col(4,54 To 56) Then STAT2=12
SKIPSTATS2: Rem
End Proc
Procedure GO2
Rem set AMREG(2) to 0 after each move...Amreg2=whose turn ?...........
Rem Check if sprite 0 already moving ...
If Amreg(1)=1 Then Pop Proc
Rem OK,it's not moving.....
STATHIT1
STATHIT2
If STAT1=STAT2 Then POW1
Amal 4,"Move 0,10,65" : Amal On 4
Amal Off(3)
If X Sprite(0)<148 Then Goto SKIPL1
If Joy(1)=4 Then M$="L RA=1;L RS=0;M -17,-15,12;M -17,15,12;M 0,0,10;L RA=0;L RC=2" : Amal 8,M$ : Amal On 8 : BOING : STIMER2
SKIPL1: If X Sprite(0)>377 Then Goto SKIPR1
If Joy(1)=8 Then M$="L RA=1;L RS=0;M 17,-15,12;M 17,15,12;L RA=0;L RC=2" : Amal 8,M$ : Amal On 8 : BOING : STIMER2
SKIPR1: If Y Sprite(0)>208 Then Goto SKIPDN1
If Joy(1)=2 Then M$="L RA=1;L RS=0;M 0,10,12;M 0,10,12;L RA=0;L RC=2" : Amal 8,M$ : Amal On 8 : BOING : STIMER2
SKIPDN1: If Y Sprite(0)<92 Then Goto SKIPEND
If Joy(1)=1 Then M$="L RA=1;L RS=0;M 0,-10,12;M 0,-10,12;L RA=0;L RC=2" : Amal 8,M$ : Amal On(8) : BOING2 : STIMER2
SKIPEND: Rem leave routine
End Proc
Procedure GO1
Rem set AMREG 2 to 0 after each move..............
Rem check if sprite 4 moving
If Amreg(0)=1 Then Pop Proc
Rem OK,it aint moving,carry on...
STATHIT2
STATHIT1
If STAT2=STAT1 Then POW2
Amal 3,"Move 0,10,75" : Amal On 3
Amal Off(4)
If X Sprite(4)<152 Then Goto SKIPL2
If Joy(0)=4 Then M$="L RB=1;L RS=0;M -17,-15,12;M -17,15,12;L RB=0;L RC=1" : Amal 9,M$ : Amal On 9 : BOING2 : STIMER1
SKIPL2: If X Sprite(4)>377 Then Goto SKIPR2
If Joy(0)=8 Then M$="L RB=1;L RS=0;M 17,-15,12;M 17,15,12;L RB=0;L RC=1" : Amal 9,M$ : Amal On 9 : BOING2 : STIMER1
SKIPR2: If Y Sprite(4)>208 Then Goto SKIPDN2
If Joy(0)=2 Then M$="L RB=1;L RS=0;M 0,10,12;M 0,10,12;L RB=0;L RC=1" : Amal 9,M$ : Amal On 9 : BOING2 : STIMER1
SKIPDN2: If Y Sprite(4)<92 Then Goto SKIPEND2
If Joy(0)=1 Then M$="L RB=1;L RS=0;M 0,-10,12;M 0,-10,12;L RB=0;L RC=1" : Amal 9,M$ : Amal On 9 : BOING2 : STIMER1
SKIPEND2: Rem leave routine
End Proc
Procedure STIMER1
Amal Freeze 3
Bob 58,10,170,22
End Proc
Procedure STIMER2
Amal Freeze 4
Bob 59,305,170,23
End Proc
Procedure HIT
If Bob Col(60,58 To 58) Then XPLODE2
If Bob Col(61,59 To 59) Then XPLODE1
End Proc
Procedure XPLODE1
Amal Off(1) : Amal Off(3) : Amal Off(4)
For D=25 To 30 : Sprite 0,,,D : Wait 6 : Next D
Wait 20
Amal 1,"A 1,(37,5)(38,5)(39,5)(40,5)(41,5)(42,5)(43,5)(44,5)" : Amal On 1
Boom
Wait 40
Amal 8,"L RD=RD-1" : Amal On(8)
Locate 30,3 : Print Amreg(3)
PPOS1
PPOS2
ARROW1 : ARROW2
End Proc
Procedure XPLODE2
Amal Off(2) : Amal Off(3) : Amal Off(4)
For D=31 To 36 : Sprite 4,,,D :
Wait 8 : Next D
Wait 20
Amal 2,"A 1,(37,6)(38,6)(39,6)(40,6)(41,6)(42,6)(43,6)(44,6)" : Amal On 2
Boom
Wait 40
Amal 9,"L RE=RE-1" : Amal On(9)
Locate 1,3 : Print Amreg(4)
PPOS2
PPOS1
ARROW1 : ARROW2
End Proc
Procedure BOING
Sam Play 2,2,7400
Get Sprite Palette : LIGHT=0 : GEM=0 : MYS=0
ARROW2
End Proc
Procedure BOING2
Sam Play 2,2,8200
Get Sprite Palette : LIGHT=0 : GEM=0 : MYS=0
ARROW1
End Proc
Procedure POW1
If STAT1=1 : Amal 8,"M 0,-250,30" : Amal On 8
Wait 160 : Amal 8,"L RD=RD-1" : Amal On(8) : Rem Spring
Locate 30,3 : Print Amreg(3) : PPOS1 : PPOS2 : ARROW1 : ARROW2 : End If
If STAT1=2 Then XPLODE1
If STAT1=3 Then SWOPSIDES : SET=1 : Rem xchange places
If STAT1=4 Then TILEMIX
If STAT1=5 Then Bob 60,10,210,24 : Rem clock
If STAT1=6 Then GEMSWITCH
If STAT1=7 Then End : Rem spikes
If STAT1=8 Then End : Rem Bow
If LIGHT=1 Then Goto SKIPST9
If STAT1=9 Then Fade 1 : Wait 10 : Get Sprite Palette %1000000 : LIGHT=1
SKIPST9: Rem Lights are out
If STAT1=11 Then MYSTERYMOVE1
If STAT1=12 : Amal 1,"A 1,(45,7)(46,7)(47,7)(48,7)(49,7)(50,7)(51,7)(52,7)(53,7)(54,7)(55,7)(56,7)(57,8)(58,8)(59,8)(60,8)(0,1)"
Amal On 1 : Wait 160 : Amal 8,"L RD=RD-1" : Amal On(8) : Rem kwiksand
Locate 30,3 : Print Amreg(3) : PPOS1 : PPOS2 : ARROW1 : ARROW2 : End If
End Proc
Procedure POW2
If STAT2=1 : Amal 9,"M 0,-250,30" : Amal On 9
Wait 160 : Amal 9,"L RE=RE-1" : Amal On(9) : Rem Spring
Locate 1,3 : Print Amreg(4) : PPOS2 : PPOS1 : ARROW1 : ARROW2 : End If
If STAT2=2 Then XPLODE2
If STAT2=3 Then SWOPSIDES : SET=1 : Rem xchange
If STAT2=4 Then TILEMIX
If STAT2=5 Then Bob 61,305,210,24 : Rem clock
If STAT2=6 Then GEMSWITCH
If STAT2=7 Then End : Rem spikes
If STAT2=8 Then End : Rem Bow
If LIGHT=1 Then Goto SKIPSTAT9
If STAT2=9 Then Fade 1 : Wait 10 : Get Sprite Palette %1000000 : LIGHT=1
SKIPSTAT9: Rem Lights already out...
If STAT2=11 Then MYSTERYMOVE2
If STAT1=12 : Amal 2,"A 1,(61,7)(62,7)(63,7)(64,7)(65,7)(66,7)(67,7)(68,7)(69,7)(70,7)(71,7)(72,7)(73,8)(0,1)"
Amal On 2 : Wait 160 : Amal 9,"L RE=RE-1" : Amal On(9) : Rem kwiksand
Locate 1,3 : Print Amreg(4) : PPOS2 : PPOS1 : ARROW1 : ARROW2 : End If
End Proc
Procedure SWOPSIDES
STAT1=98 : Rem change either value so there's no repeat effect
P1X=X Sprite(0) : P1Y=Y Sprite(0)
P2X=X Sprite(4) : P2Y=Y Sprite(4)
Sprite 0,P2X,P2Y,14 : Play 1,10,1 : Wait 30
Sprite 4,P1X,P1Y,18 : Play 1,25,1 : Wait 30
Amal 0,"L RS=1;M 20,0,30;M -20,0,30" : Amal On(0)
End Proc
Procedure GEMSWITCH
If GEM=1 Then Pop Proc
GX=X Bob(57)
GY=Y Bob(57)
GX2=X Bob(63)
GY2=Y Bob(63)
Bob 57,GX2,GY2,74 : Play 12,4
Bob 63,GX,GY,75 : Play 14,4
GEM=1
End Proc
Procedure MYSTERYMOVE1
RN=Rnd(20)
STAT1=RN
MYS=1
POW1
End Proc
Procedure MYSTERYMOVE2
RN=Rnd(20)
STAT2=RN
MYS=1
POW2
End Proc
Procedure SPLASH1
'Amal Off(1)
Amal 1,"Anim 1,(76,5)(77,5)(78,5)(79,5)(80,5)(0,5)"
Play 8,45,1
Amal On 1 : Wait 240
Amal 8,"L RD=RD-1" : Amal On(8)
Locate 30,3 : Print Amreg(3)
PPOS1 : PPOS2
ARROW1 : ARROW2
End Proc
Procedure SPLASH2
Amal 2,"Anim 1,(86,5)(87,5)(88,5)(89,5)(90,5)(0,5)"
Play 8,45,1
Amal On 2 : Wait 240
Amal 9,"L RE=RE-1" : Amal On(9)
Locate 1,3 : Print Amreg(4)
PPOS2 : PPOS1
ARROW1 : ARROW2
End Proc
Procedure GEMCHECK1
If Spritebob Col(8,57 To 57) : Locate 10,1 : Print "GREEN PLAYER IS THE WINNER..."
Wait 150 : Amal Off : Bob Off : TILEZAP : SQIGGLY : Goto CHOOSE : End If
If Spritebob Col(9,63 To 63) : Locate 10,1 : Print "BLUE PLAYER IS THE WINNER..."
Wait 150 : Amal Off : Bob Off : TILEZAP : SQIGGLY : Goto CHOOSE : End If
End Proc
Procedure TILEZAP
For TIL=1 To 56
Bob Off(TIL)
Play 8,95,0
Next TIL
Amal Off
End Proc
Procedure TITLE
Bob 10,0,0, : Bob 11,0,0, : Bob 12,0,0, : Bob 13,0,0,
Bob 14,0,0, : Bob 15,0,0,
Rainbow 0,,280,
Channel 0 To Bob 0
Channel 1 To Bob 1
Channel 2 To Bob 2
Channel 3 To Bob 3
Curs Off
Cls 0 : Paper 0 : Pen 6
Locate 1,8 : Print "FRANTIX is a 2 player game.Ensure that"
Locate 1,9 : Print "you have TWO joysticks plugged in..."
Locate 1,11 : Print "Each player controls a Squiggly in a "
Locate 1,12 : Print "Battle to the Death !!"
Wait 300 : Cls 0
GO
Bob 0,240,130,14 : Bob 1,240,40,18
Locate 0,10 : Print "Joystick 1 controls the BLUE Squiggly"
Locate 0,12 : Print "Joystick 2 controls the GREEN Squiggly."
Wait 400
GO
Cls 0
Amal Off(0)
Bob 1,92,80,14 : Bob 0,50,80,10
Amal 1,"Loop: M -10,-10,10;M -10,0,10;M -10,10,10;M 0,0,30;M 10,-10,10;M 10,0,10;M 10,10,10;M 0,0,30;J Loop" : Amal On(1)
Locate 0,15 : Print "Players Take Turns To Jump 1 Square"
Locate 0,16 : Print "In Either Direction.."
Locate 0,17 : Print "But Hurry,If You Run Out Of Time,Your "
Locate 0,18 : Print "Squiggly Will Explode ! ! "
GO
Wait 500
Cls 0
Amal Off : Bob Off
Locate 1,10 : Print "Your Aim Is To Capture Your "
Locate 1,11 : Print "Opponents Gem.... "
GO
Wait 40 : Bob 1,50,50,75
Wait 80 : Bob 0,200,50,74
Wait 70 : Locate 5,14 : Print "Or Just Survive ! !"
Wait 90
GO
Bob Off : Cls 0 : Locate 5,10 : Print "Each Playing Board Is "
Locate 1,11 : Print "Made Up Of 56 Blocks,Some Harmless..."
Locate 1,12 : Print "Some Very Nasty... "
GO
Wait 180
Cls 0
Locate 0,8 : Print "If The 2 Squiggly's Land On The Same Type"
Locate 0,9 : Print "Of Block,Then That Block Is DUPLICATED. "
Locate 0,11 : Print "The First Squiggly To Land On A Duplicated"
Locate 0,12 : Print "Block Is Called The PRIMER.The PRIMER Must"
Locate 0,13 : Print "Face The Results Of Any Action Triggered "
Locate 0,14 : Print "By The Duplicating Of Any Block..Example.."
Locate 0,15 : Print "If The Quicksand Block Is Duplicated,The "
Locate 0,16 : Print "PRIMER Will Drown & Lose 1 Of His 3 Lives."
Locate 3,22 : Print "PRIMER.. "
GO
Bob 0,100,180,12 : Bob 1,180,180,12
Bob 2,80,170,18 : Bob 3,215,170,14
Wait 500
Amal 2,"M 10,-10,10;M 10,0,10;M 10,10,10" : Amal On(2)
Wait 110
Amal 3,"M -10,-10,10;M -10,0,10;M -10,10,10" : Amal On(3)
Wait 100
Amal 2,"A 1,(61,6)(62,6)(63,6)(64,6)(65,6)(66,6)(67,6)(68,6)(69,6)(70,6)(71,6)(72,6)(73,6)"
Amal On(2)
Wait 300
Bob Off(3)
Locate 2,20 : Print "Here's a Description Of Each Block.."
'
GO
Wait 300 : Cls 0
Bob 0,30,50,1 : Bob 1,30,190,2
Amal 0,"Loop: M 0,50,60;M 0,-50,60;P;J Loop" : Amal On(0)
Amal 1,"Loop: M 0,-50,60;M 0,50,60;J Loop" : Amal On(1)
Paper 0 : Pen 4
Play 2,2,1 : Locate 5,5 : Print "When Duplicated This Block Will "
Play 2,4,1 : Locate 5,6 : Print "Spring The First Squiggly To "
Play 2,6,1 : Locate 5,7 : Print "Land On The Block (The PRIMER) "
Play 2,8,1 : Locate 5,8 : Print "Into The Air...Lose A Life. "
GO
Wait 50
Pen 5
Locate 5,15 : Print "When Duplicated This Block Will "
Locate 5,16 : Print "Detonate The PRIMERS Block "
Locate 5,17 : Print "And Blow The Squiggly Up.... "
Locate 5,18 : Print " Lose A Life.... "
GO
Wait 400
'
Bob 0,,,3 : Bob 1,,,4
Play 2,2,1 : Locate 5,5 : Print "When Duplicated This Block Will "
Play 2,4,1 : Locate 5,6 : Print "Exchange The Two Squiggly's "
Play 2,6,1 : Locate 5,7 : Print "Positions.....Non-Fatal. "
Play 2,8,1 : Locate 5,8 : Print " "
GO
Wait 50
Locate 5,15 : Print "When Duplicated This Block "
Locate 5,16 : Print "Will Do A Complete Reshuffle "
Locate 5,17 : Print "And Re-Arrange The Playing "
Locate 5,18 : Print "Board...........Possibly Fatal "
'
GO
Wait 400
Bob 0,,,5 : Bob 1,,,6
Play 2,2,1 : Locate 5,5 : Print "When Duplicated This Block Will "
Play 2,4,1 : Locate 5,6 : Print "Move The PRIMERS Timer Arrow Up,"
Play 2,6,1 : Locate 5,7 : Print "Giving Him More Time To Think "
Play 2,8,1 : Locate 5,8 : Print "About His Next Move..Non-Fatal "
GO
Wait 50
Locate 5,15 : Print "When Duplicated This Block Will"
Locate 5,16 : Print "Perform A Gem-Switch,Which Will"
Locate 5,17 : Print "Exchange The Positions Of The "
Locate 5,18 : Print "Players Gems...Non-Fatal "
GO
Wait 400
Bob 0,,,7 : Bob 1,,,8
Play 2,2,1 : Locate 5,5 : Print "Instant Block.Needs No Duplicat "
Play 2,4,1 : Locate 5,6 : Print "-ing.Will Drown Squiggly If "
Play 2,6,1 : Locate 5,7 : Print "It Is Landed On..... FATAL ! ! "
Play 2,8,1 : Locate 5,8 : Print " "
GO
Wait 50
Locate 5,15 : Print "When Duplicated This Block Will"
Locate 5,16 : Print "Turn The Lights Off ! "
Locate 5,17 : Print "Try To Plan Your Next Move "
Locate 5,18 : Print "Before A LIGHTS-OUT...Non-Fatal"
GO
Wait 400
Bob 0,,,9 : Bob 1,,,10
Play 2,2,1 : Locate 5,5 : Print "Mystery Move.If Duplicated This "
Play 2,4,1 : Locate 5,6 : Print "Block Will Trigger ANY Of The "
Play 2,6,1 : Locate 5,7 : Print "Other Actions,Or It May Do "
Play 2,8,1 : Locate 5,8 : Print "Nothing At All...... "
GO
Wait 50
Locate 5,15 : Print "Blank Block. "
Locate 5,16 : Print "Totally Harmless,Even When "
Locate 5,17 : Print "Duplicated..... "
Locate 5,18 : Print " "
GO
Wait 400
Bob 0,,,11 : Bob 1,,,12
Play 2,2,1 : Locate 5,5 : Print "Instant Block.Land On This And "
Play 2,4,1 : Locate 5,6 : Print "Your Squiggly Will Be Fried ! ! "
Play 2,6,1 : Locate 5,7 : Print "Easy To Spot,But What If The "
Play 2,8,1 : Locate 5,8 : Print "Lights Are Out ?......Fatal ! "
GO
Wait 50
Locate 5,15 : Print "Duplicate This & The Primer "
Locate 5,16 : Print "Will Sink In Deadly QuickSand. "
Locate 5,17 : Print "Lose A Life ! ! "
Locate 5,18 : Print " "
Wait 400
Cls 0
Locate 5,5 : Print "First Player To Grab Opponents Gem "
Locate 5,6 : Print "Is The Winner,Or First Player To Lose"
Locate 5,7 : Print "All 3 Lives Loses. "
Wait 400 : Cls 0
Amal Off : Bob Off
SQIGGLY
End Proc
Procedure GO
If Fire(1) : Cls 0 : Amal Off : Bob Off
Goto RESTART : End If
End Proc
Procedure SQIGGLY
Channel 10 To Bob 10 : Channel 11 To Bob 11 : Channel 12 To Bob 12
Channel 13 To Bob 13 : Channel 14 To Bob 14 : Channel 15 To Bob 15
Channel 0 To Bob 0 : Rem This is C.Banks bob
Bob 0,140,230,91
Bob 10,70,60,14 : Bob 11,200,60,18
Bob 12,100,120,18 : Bob 13,180,180,14
Bob 14,120,190,18 : Bob 15,280,50,14
SQIG1$="Loop: M -20,-20,10;M -20,0,10;M -20,20,10;M 20,-20,10;M 20,0,10;M 20,20,10;J Loop"
SQIG2$="Loop: M 0,-40,10;M 0,-20,20;M 0,20,20;M 0,40,10;J Loop"
Amal 0,SQIG2$ : Amal On(0)
Wait 3
Amal 10,SQIG1$ : Amal On(10)
Wait 22
Amal 11,SQIG1$ : Amal On(11)
Amal 12,SQIG2$ : Amal On(12)
Wait 10
Amal 13,SQIG2$ : Amal On(13)
Wait 10 : Amal 14,SQIG1$ : Amal On(14)
Wait 7 : Amal 15,SQIG2$ : Amal On(15)
End Proc