This page (revision-3) was last changed on 03-Feb-2023 15:21 by Carsten Strotmann 

This page was created on 20-Feb-2010 20:25 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
3 03-Feb-2023 15:21 24 KB Carsten Strotmann to previous
2 20-Feb-2010 20:29 24 KB Carsten Strotmann to previous | to last
1 20-Feb-2010 20:25 19 KB Carsten Strotmann to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 7 changed one line
; by Sam Teague
; by Sam Teague
At line 10 changed 26 lines
ChBas=$2F4, Time=$14,
MemTop=$6A, Color0=$2C4,
Color1=$2C5, Color2=$2C6,
Color3=$2C7, Color4=$2C8,
GraCtl=$D01D, GPrior=$26F,
SDmaCtl=$22F, PMBase=$D407,
Nmien=$D40E, WSync=$D40A,
Con=$D01F, Atract=$4D,
HPos0=$D000, HPos1=$D001,
HPos2=$D002, HPos3=$D003,
PMColor0=$2C0, PMColor1=$2C1,
PMColor2=$2C2, PMColor3=$2C3,
P0PF=$D004, P2PF=$D006,
P3PF=$D007, P0PL=$D00C,
HPosM0=$D004, HPosM1=$D005,
HPosM2=$D006, HPosM3=$D007,
HitClr=$D01E, CrSinh=$2F0,
StickFlag, SpaceFlag,
Dots, OldMemTop, Screen, Speed,
X, Y, X0, Y0, X1, Y1, X2, Y2,
X3, Y3, OldX0, OldY0, OldX2,
OldY2, OldX3, OldY3,
RobotCount1, RobotCount2,
BirdCount, Image0, Image1,
DotSound, BonusSound, DoorSound,
Lives, StartSpeed
ChBas=$2F4, Time=$14,
MemTop=$6A, Color0=$2C4,
Color1=$2C5, Color2=$2C6,
Color3=$2C7, Color4=$2C8,
GraCtl=$D01D, GPrior=$26F,
SDmaCtl=$22F, PMBase=$D407,
Nmien=$D40E, WSync=$D40A,
Con=$D01F, Atract=$4D,
HPos0=$D000, HPos1=$D001,
HPos2=$D002, HPos3=$D003,
PMColor0=$2C0, PMColor1=$2C1,
PMColor2=$2C2, PMColor3=$2C3,
P0PF=$D004, P2PF=$D006,
P3PF=$D007, P0PL=$D00C,
HPosM0=$D004, HPosM1=$D005,
HPosM2=$D006, HPosM3=$D007,
HitClr=$D01E, CrSinh=$2F0,
StickFlag, SpaceFlag,
Dots, OldMemTop, Screen, Speed,
X, Y, X0, Y0, X1, Y1, X2, Y2,
X3, Y3, OldX0, OldY0, OldX2,
OldY2, OldX3, OldY3,
RobotCount1, RobotCount2,
BirdCount, Image0, Image1,
DotSound, BonusSound, DoorSound,
Lives, StartSpeed
At line 38 changed 2 lines
BirdDist, RobotDist1,
RobotDist2, Score, HighScore
BirdDist, RobotDist1,
RobotDist2, Score, HighScore
At line 42 changed one line
ScRam=$58
ScRam=$58
At line 45 changed 2 lines
Player2, Player3,
MissleBase
Player2, Player3,
MissleBase
At line 100 changed 2 lines
PMData2(4), PMData3(4),
MissleData(4)
PMData2(4), PMData3(4),
MissleData(4)
At line 108 changed 18 lines
127 127 127 127 127 127 127 0
0 254 254 254 254 254 254 254
254 254 254 254 254 254 254 0
0 127 127 127 127 127 127 127
0 255 255 255 255 255 255 255
127 127 127 127 127 127 127 127
254 254 254 254 254 254 254 254
0 90 60 66 66 60 90 0
0 255 231 129 129 231 255 0
0 254 254 254 254 254 254 0
0 0 0 24 36 24 0 0
0 126 126 126 126 126 126 126
126 126 126 126 126 126 126 0
0 127 127 127 127 127 127 0
0 255 255 255 255 255 255 0
126 126 126 126 126 126 126 126
255 255 255 255 255 255 255 0
0 24 24 126 24 60 102 0]
127 127 127 127 127 127 127 0
0 254 254 254 254 254 254 254
254 254 254 254 254 254 254 0
0 127 127 127 127 127 127 127
0 255 255 255 255 255 255 255
127 127 127 127 127 127 127 127
254 254 254 254 254 254 254 254
0 90 60 66 66 60 90 0
0 255 231 129 129 231 255 0
0 254 254 254 254 254 254 0
0 0 0 24 36 24 0 0
0 126 126 126 126 126 126 126
126 126 126 126 126 126 126 0
0 127 127 127 127 127 127 0
0 255 255 255 255 255 255 0
126 126 126 126 126 126 126 126
255 255 255 255 255 255 255 0
0 24 24 126 24 60 102 0]
At line 134 changed 18 lines
dest=base+8*chnum
FOR i=0 TO 7
DO
dest^=chars(bit)
dest==+1 bit==+1
OD
IF chnum=1 THEN chnum=3
ELSEIF chnum<12 THEN chnum==+1
ELSEIF chnum=12 THEN chnum=14
ELSEIF chnum=14 THEN chnum=15
ELSEIF chnum=15 THEN chnum=26
ELSEIF chnum=26 THEN chnum=27
ELSEIF chnum=27 THEN chnum=29
ELSEIF chnum=29 THEN chnum=30
ELSEIF chnum=30 THEN chnum=32
ELSEIF chnum=32 THEN chnum=56
ELSEIF chnum=56 THEN chnum=57
FI
dest=base+8*chnum
FOR i=0 TO 7
DO
dest^=chars(bit)
dest==+1 bit==+1
OD
IF chnum=1 THEN chnum=3
ELSEIF chnum<12 THEN chnum==+1
ELSEIF chnum=12 THEN chnum=14
ELSEIF chnum=14 THEN chnum=15
ELSEIF chnum=15 THEN chnum=26
ELSEIF chnum=26 THEN chnum=27
ELSEIF chnum=27 THEN chnum=29
ELSEIF chnum=29 THEN chnum=30
ELSEIF chnum=30 THEN chnum=32
ELSEIF chnum=32 THEN chnum=56
ELSEIF chnum=56 THEN chnum=57
FI
At line 158 changed 6 lines
[$48 ; PHA
$8D WSync] ; STA WSync
color1=14 ; Luminance
color2=4 ; Gray background
[$68 ; PLA
$40] ; RTI
[$48 ; PHA
$8D WSync] ; STA WSync
color1=14 ; Luminance
color2=4 ; Gray background
[$68 ; PLA
$40] ; RTI
At line 179 changed 2 lines
AND y0<200 THEN
errflag=1
AND y0<200 THEN
errflag=1
At line 187 changed 16 lines
DO
Sound(0,108,10,8) Delay(18)
Sound(0,96,10,8) Delay(9)
Sound(0,91,10,8) Delay(9)
Sound(0,81,10,8) Delay(18)
Sound(0,91,10,8) Delay(9)
Sound(0,96,10,8) Delay(9)
OD
Sound(0,121,10,8) Delay(18)
Sound(0,108,10,8) Delay(9)
Sound(0,96,10,8) Delay(9)
Sound(0,91,10,8) Delay(18)
Sound(0,96,10,8) Delay(9)
Sound(0,108,10,8) Delay(9)
Sound(0,121,10,8) Delay(54)
Sound(0,0,0,0) Delay(10)
DO
Sound(0,108,10,8) Delay(18)
Sound(0,96,10,8) Delay(9)
Sound(0,91,10,8) Delay(9)
Sound(0,81,10,8) Delay(18)
Sound(0,91,10,8) Delay(9)
Sound(0,96,10,8) Delay(9)
OD
Sound(0,121,10,8) Delay(18)
Sound(0,108,10,8) Delay(9)
Sound(0,96,10,8) Delay(9)
Sound(0,91,10,8) Delay(18)
Sound(0,96,10,8) Delay(9)
Sound(0,108,10,8) Delay(9)
Sound(0,121,10,8) Delay(54)
Sound(0,0,0,0) Delay(10)
At line 206 changed 5 lines
BYTE C3, BYTE C4)
Color0=C0
Color1=C1
Color2=C2
Color3=C3
BYTE C3, BYTE C4)
Color0=C0
Color1=C1
Color2=C2
Color3=C3
At line 215 changed 2 lines
BYTE POINTER address)
BYTE i
BYTE POINTER address)
BYTE i
At line 219 changed 7 lines
DO
IF temp_str(i)#155 THEN
address^=ataint((temp_str(i)
RSH 5)&3)%(temp_str(i)&$9F)
address==+1
FI
OD
DO
IF temp_str(i)#155 THEN
address^=ataint((temp_str(i)
RSH 5)&3)%(temp_str(i)&$9F)
address==+1
FI
OD
At line 231 changed one line
Sype(" ",ScRam+468)
Sype(" ",ScRam+468)
At line 236 changed one line
bgcount==+1
bgcount==+1
At line 238 changed 10 lines
Sound(0,N,10,2)
N==+2
IF N>=S THEN
N==-4
S=N
IF S=40 THEN
S=50
FI
FI
bgcount=0
Sound(0,N,10,2)
N==+2
IF N>=S THEN
N==-4
S=N
IF S=40 THEN
S=50
FI
FI
bgcount=0
At line 257 changed 32 lines
SDmaCtl=$00
Position(0,1) Print(" ")
Sype("BACKTRACK",ScRam+14)
Sype("Your Mission is to get all of the",ScRam+81)
Sype("pulsating globules in the maze with",ScRam+121)
Sype("as little backtracking as possible.",ScRam+161)
Sype("Each globule is worth one point. Each",ScRam+201)
Sype("empty space will cost you one point.",ScRam+241)
Sype("You have 3 lives. If you touch one of",ScRam+281)
Sype("the robots you lose a life. An extra ",ScRam+321)
Sype("life is awarded at 3,000 points. If",ScRam+361)
Sype("you touch the bird it will cost you 50",ScRam+401)
Sype("points. If you open one of the doors",ScRam+441)
Sype("in the walls you will recieve 100 extra",ScRam+481)
Sype("points. If you touch a multi-color ",ScRam+521)
Sype("bonus globule your score is increased",ScRam+561)
Sype("by the number of globules you've ",ScRam+601)
Sype("already gotten on that maze. You must ",ScRam+641)
Sype("return to home base after getting all ",ScRam+681)
Sype("the globules. There are 3 screens. ",ScRam+721)
Sype("When you finish screen 3 you are ",ScRam+761)
Sype("returned to screen 1 and the action ",ScRam+801)
Sype("speeds up. Press the fire button to ",ScRam+841)
Sype("pause. Move the stick to resume play.",ScRam+881)
Sype(" PRESS START FOR GAME.",ScRam+921)
SDmaCtl=62
DO
UNTIL Con=6
OD
DO
UNTIL Con#6
OD
SDmaCtl=$00
Position(0,1) Print(" ")
Sype("BACKTRACK",ScRam+14)
Sype("Your Mission is to get all of the",ScRam+81)
Sype("pulsating globules in the maze with",ScRam+121)
Sype("as little backtracking as possible.",ScRam+161)
Sype("Each globule is worth one point. Each",ScRam+201)
Sype("empty space will cost you one point.",ScRam+241)
Sype("You have 3 lives. If you touch one of",ScRam+281)
Sype("the robots you lose a life. An extra ",ScRam+321)
Sype("life is awarded at 3,000 points. If",ScRam+361)
Sype("you touch the bird it will cost you 50",ScRam+401)
Sype("points. If you open one of the doors",ScRam+441)
Sype("in the walls you will recieve 100 extra",ScRam+481)
Sype("points. If you touch a multi-color ",ScRam+521)
Sype("bonus globule your score is increased",ScRam+561)
Sype("by the number of globules you've ",ScRam+601)
Sype("already gotten on that maze. You must ",ScRam+641)
Sype("return to home base after getting all ",ScRam+681)
Sype("the globules. There are 3 screens. ",ScRam+721)
Sype("When you finish screen 3 you are ",ScRam+761)
Sype("returned to screen 1 and the action ",ScRam+801)
Sype("speeds up. Press the fire button to ",ScRam+841)
Sype("pause. Move the stick to resume play.",ScRam+881)
Sype(" PRESS START FOR GAME.",ScRam+921)
SDmaCtl=62
DO
UNTIL Con=6
OD
DO
UNTIL Con#6
OD
At line 306 changed 22 lines
DO
UNTIL Con#6
OD
DO
Delay(10)
IF Con=3 THEN
Sype(" ",ScRam+244)
Speed==-1
IF Speed=0 THEN
Speed=3
FI
FI
IF Speed=3 THEN
Sype("BEGINNER",ScRam+246)
ELSEIF Speed=2 THEN
Sype("INTERMEDIATE",ScRam+244)
ELSEIF Speed=1 THEN
Sype("ADVANCED",ScRam+246)
FI
IF Con=5 THEN Inst() EXIT FI
UNTIL Con=6 OR Trig0=0
OD
DO
UNTIL Con#6
OD
DO
Delay(10)
IF Con=3 THEN
Sype(" ",ScRam+244)
Speed==-1
IF Speed=0 THEN
Speed=3
FI
FI
IF Speed=3 THEN
Sype("BEGINNER",ScRam+246)
ELSEIF Speed=2 THEN
Sype("INTERMEDIATE",ScRam+244)
ELSEIF Speed=1 THEN
Sype("ADVANCED",ScRam+246)
FI
IF Con=5 THEN Inst() EXIT FI
UNTIL Con=6 OR Trig0=0
OD
At line 329 changed 3 lines
DO
UNTIL Con#6 AND Trig0#0
OD
DO
UNTIL Con#6 AND Trig0#0
OD
At line 406 changed one line
PROC Maze1()
PROC Maze1()
At line 409 changed 21 lines
Sype(")(",ScRam+20)
Sype(")&'''$&'''$(",ScRam+40)
Sype(")#!!!%&''$#!!!%(",ScRam+60)
Sype(")(!)(!!)(!)(",ScRam+80)
Sype("!$#@%&!!!!$#@%&!",ScRam+100)
Sype("!)(!!!!)(!",ScRam+120)
Sype("!!$&!!!!!!$&!!",ScRam+140)
Sype("@@@,;@@@@@@@@,;@@@",ScRam+160)
Sype("  ",ScRam+180)
Sype("$*;==========,*&",ScRam+200)
Sype(")(",ScRam+220)
Sype(")&''',;'''$(",ScRam+240)
Sype(")(!@%&''$#@!)(",ScRam+260)
Sype(")()&!!!!$()(",ScRam+280)
Sype(")()&'!!!!!!'$()(",ScRam+300)
Sype(")()(!!!!!!!!)()(",ScRam+320)
Sype(")#%#@@@@@@@@%#%(",ScRam+340)
Sype(")(",ScRam+360)
Sype("!==='==,;==''''!",ScRam+380)
Sype(") #(!!!!",ScRam+400)
Sype(") (!!!!",ScRam+420)
Sype("",ScRam+20)
Sype(")&'''$&'''$(",ScRam+40)
Sype(")#!!!%&''$#!!!%(",ScRam+60)
Sype(")(!)(!!)(!)(",ScRam+80)
Sype("!$#@%&!!!!$#@%&!",ScRam+100)
Sype("!)(!!!!)(!",ScRam+120)
Sype("!!$&!!!!!!$&!!",ScRam+140)
Sype("@@@,;@@@@@@@@,;@@@",ScRam+160)
Sype(" ",ScRam+180)
Sype("$*;==========,*&",ScRam+200)
Sype(")(",ScRam+220)
Sype(")&''',;'''$(",ScRam+240)
Sype(")(!@%&''$#@!)(",ScRam+260)
Sype(")()&!!!!$()(",ScRam+280)
Sype(")()&'!!!!!!'$()(",ScRam+300)
Sype(")()(!!!!!!!!)()(",ScRam+320)
Sype(")#%#@@@@@@@@%#%(",ScRam+340)
Sype(")(",ScRam+360)
Sype("!==='==,;==''''!",ScRam+380)
Sype(") #(!!!!",ScRam+400)
Sype(") (!!!!",ScRam+420)
At line 437 changed 21 lines
Sype(")(",ScRam+20)
Sype(")&'$&''=====''$(",ScRam+40)
Sype(")#@%#@%(!)(",ScRam+60)
Sype(")&''$(!)(",ScRam+80)
Sype("!'===''$#@@%#@)(",ScRam+100)
Sype("!%(!%:(",ScRam+120)
Sype(")&$()&'''=,*(",ScRam+140)
Sype("%;@%#%;@@@%/#",ScRam+160)
Sype(" &') ",ScRam+180)
Sype("'$&''''''====@@)&",ScRam+200)
Sype("!)#!!!@@%>(",ScRam+220)
Sype("!)(!%&===,>(",ScRam+240)
Sype("!!$#%&'')>(",ScRam+260)
Sype("!!)&!!!)&',*>(",ScRam+280)
Sype("!@@===@@@@%()>(",ScRam+300)
Sype(")()&)(",ScRam+320)
Sype(");=======,()()(",ScRam+340)
Sype(")()()(",ScRam+360)
Sype("!=='''''''$(%#)(",ScRam+380)
Sype(") #@@@@@@%::(",ScRam+400)
Sype(") /(",ScRam+420)
Sype(")(",ScRam+20)
Sype(")&'$&''=====''$(",ScRam+40)
Sype(")#@%#@%(!)(",ScRam+60)
Sype(")&''$(!)(",ScRam+80)
Sype("!'===''$#@@%#@)(",ScRam+100)
Sype("!%(!%:(",ScRam+120)
Sype(")&$()&'''=,*(",ScRam+140)
Sype("%;@%#%;@@@%/#",ScRam+160)
Sype(" &') ",ScRam+180)
Sype("'$&''''''====@@)&",ScRam+200)
Sype("!)#!!!@@%>(",ScRam+220)
Sype("!)(!%&===,>(",ScRam+240)
Sype("!!$#%&'')>(",ScRam+260)
Sype("!!)&!!!)&',*>(",ScRam+280)
Sype("!@@===@@@@%()>(",ScRam+300)
Sype(")()&)(",ScRam+320)
Sype(");=======,()()(",ScRam+340)
Sype(")()()(",ScRam+360)
Sype("!=='''''''$(%#)(",ScRam+380)
Sype(") #@@@@@@%::(",ScRam+400)
Sype(") /(",ScRam+420)
At line 465 changed 21 lines
Sype(")(",ScRam+20)
Sype(")(",ScRam+40)
Sype(")(",ScRam+60)
Sype(")(",ScRam+80)
Sype("%#",ScRam+100)
Sype(" ** ",ScRam+120)
Sype("$&",ScRam+140)
Sype(")(",ScRam+160)
Sype(")(",ScRam+180)
Sype(")(",ScRam+200)
Sype(")(",ScRam+220)
Sype("!''''',;'''''!",ScRam+240)
Sype(" #!@%&''$#@!% ",ScRam+260)
Sype(" )&!!!!$( ",ScRam+280)
Sype(" )&'!!!!!!'$( ",ScRam+300)
Sype(" )(!!!!!!!!)( ",ScRam+320)
Sype(" )#@@@@@@@@%( ",ScRam+340)
Sype(" &)($ ",ScRam+360)
Sype("!@@@'==,;=='!!!!",ScRam+380)
Sype(") :(!!!!",ScRam+400)
Sype(") (!!!!",ScRam+420)
Sype(")(",ScRam+20)
Sype(")(",ScRam+40)
Sype(")(",ScRam+60)
Sype(")(",ScRam+80)
Sype("%#",ScRam+100)
Sype(" ** ",ScRam+120)
Sype("$&",ScRam+140)
Sype(")(",ScRam+160)
Sype(")(",ScRam+180)
Sype(")(",ScRam+200)
Sype(")(",ScRam+220)
Sype("!''''',;'''''!",ScRam+240)
Sype(" #!@%&''$#@!% ",ScRam+260)
Sype(" )&!!!!$( ",ScRam+280)
Sype(" )&'!!!!!!'$( ",ScRam+300)
Sype(" )(!!!!!!!!)( ",ScRam+320)
Sype(" )#@@@@@@@@%( ",ScRam+340)
Sype(" &)($ ",ScRam+360)
Sype("!@@@'==,;=='!!!!",ScRam+380)
Sype(") :(!!!!",ScRam+400)
Sype(") (!!!!",ScRam+420)
At line 492 changed 5 lines
Sype(" ",ScRam+477)
FOR ctr=1 TO Lives
DO
Sype("X",ScRam+476+ctr)
OD
Sype(" ",ScRam+477)
FOR ctr=1 TO Lives
DO
Sype("X",ScRam+476+ctr)
OD
At line 504 changed 3 lines
DO
UNTIL Con=6 OR Trig0=0
OD
DO
UNTIL Con=6 OR Trig0=0
OD
At line 508 changed one line
HighScore=Score
HighScore=Score
At line 519 changed 3 lines
DO
UNTIL Trig0#0 AND Con#6
OD
DO
UNTIL Trig0#0 AND Con#6
OD
At line 530 changed 15 lines
IF Screen=2 THEN
Color(114,8,240,246,0)
Maze2()
ELSEIF Screen=3 THEN
Color(20,10,240,246,0)
Maze3()
ELSEIF Screen=4 THEN
Speed==-1
IF Speed<1 THEN
Speed=1
FI
Color(194,10,240,246,0)
Screen=1
Maze1()
FI
IF Screen=2 THEN
Color(114,8,240,246,0)
Maze2()
ELSEIF Screen=3 THEN
Color(20,10,240,246,0)
Maze3()
ELSEIF Screen=4 THEN
Speed==-1
IF Speed<1 THEN
Speed=1
FI
Color(194,10,240,246,0)
Screen=1
Maze1()
FI
At line 555 changed one line
,14)
,14)
At line 558 changed one line
,14)
,14)
At line 561 changed one line
,14)
,14)
At line 564 changed one line
,14)
,14)
At line 566 changed one line
MissleData(Image1),14)
MissleData(Image1),14)
At line 571 changed one line
Sype(" ",ScRam+468)
Sype(" ",ScRam+468)
At line 578 changed 7 lines
IF blink>7 THEN
IF Color1>10 THEN Color1=10
ELSE Color1=54
FI
Color2=Rand(255)
blink=0
FI
IF blink>7 THEN
IF Color1>10 THEN Color1=10
ELSE Color1=54
FI
Color2=Rand(255)
blink=0
FI
At line 589 changed 8 lines
DoorSound==-1
IF DoorSound<15 THEN
Sound(2,72,10,8)
Sound(3,60,10,8)
ELSE
Sound(2,60,10,8)
Sound(3,47,10,8)
FI
DoorSound==-1
IF DoorSound<15 THEN
Sound(2,72,10,8)
Sound(3,60,10,8)
ELSE
Sound(2,60,10,8)
Sound(3,47,10,8)
FI
At line 598 changed 11 lines
BonusSound==-1
IF BonusSound<15 THEN
Sound(2,29,10,8)
Sound(3,35,10,8)
ELSE
Sound(2,35,10,8)
Sound(3,45,10,8)
FI
ELSE
Sound(2,0,0,0)
Sound(3,0,0,0)
BonusSound==-1
IF BonusSound<15 THEN
Sound(2,29,10,8)
Sound(3,35,10,8)
ELSE
Sound(2,35,10,8)
Sound(3,45,10,8)
FI
ELSE
Sound(2,0,0,0)
Sound(3,0,0,0)
At line 611 changed 2 lines
DotSound==-1
Sound(1,125,10,8)
DotSound==-1
Sound(1,125,10,8)
At line 614 changed one line
Sound(1,0,0,0)
Sound(1,0,0,0)
At line 621 changed one line
UNTIL Stick(0)<>15
UNTIL Stick(0)<>15
At line 624 changed one line
At line 628 changed 7 lines
IF count>4 THEN
count=0
Image0==+1
IF Image0=4 THEN
Image0=0
FI
FI
IF count>4 THEN
count=0
Image0==+1
IF Image0=4 THEN
Image0=0
FI
FI
At line 640 changed 35 lines
IF StickFlag>7 THEN
; Go through tunnel
IF X0<48 THEN X0=200
ELSEIF X0>200 THEN X0=48
FI
OldX0=X0 OldY0=Y0
stickdir=Stick0
StickFlag=0
IF SpaceFlag=1 THEN
X=(X0-46)/8 Y=(Y0-24)/8
IF X0<80 AND Y0>184 THEN
Score==+1
FI
IF CheckLocate(X0,Y0)=1 THEN
IF Locate(X,Y)=' THEN
Score==-1
FI
FI
FI
IF stickdir=15 OR stickdir=10
OR stickdir=6 OR stickdir=9
OR stickdir=5 THEN
SpaceFlag=0
ELSE SpaceFlag=1 Atract=0
FI
FI
IF stickdir=14 THEN
Y0==-1 Image1=1
ELSEIF stickdir=7 THEN
X0==+1 Image1=3
ELSEIF stickdir=13 THEN
Y0==+1 Image1=0
ELSEIF stickdir=11 THEN
X0==-1 Image1=2
FI
IF StickFlag>7 THEN
; Go through tunnel
IF X0<48 THEN X0=200
ELSEIF X0>200 THEN X0=48
FI
OldX0=X0 OldY0=Y0
stickdir=Stick0
StickFlag=0
IF SpaceFlag=1 THEN
X=(X0-46)/8 Y=(Y0-24)/8
IF X0<80 AND Y0>184 THEN
Score==+1
FI
IF CheckLocate(X0,Y0)=1 THEN
IF Locate(X,Y)=' THEN
Score==-1
FI
FI
FI
IF stickdir=15 OR stickdir=10
OR stickdir=6 OR stickdir=9
OR stickdir=5 THEN
SpaceFlag=0
ELSE SpaceFlag=1 Atract=0
FI
FI
IF stickdir=14 THEN
Y0==-1 Image1=1
ELSEIF stickdir=7 THEN
X0==+1 Image1=3
ELSEIF stickdir=13 THEN
Y0==+1 Image1=0
ELSEIF stickdir=11 THEN
X0==-1 Image1=2
FI
At line 680 changed 22 lines
IF BirdCount THEN
BirdCount==-1
FI
IF count=Speed THEN
IF BirdDist<1 THEN
dir=Rand(9)
BirdDist=Rand(40)
FI
IF BirdCount=0 THEN
IF dir=1 THEN Y1==-1
ELSEIF dir=2 THEN X1==+1 Y1==-1
ELSEIF dir=3 THEN X1==+1
ELSEIF dir=4 THEN X1==+1 Y1==+1
ELSEIF dir=5 THEN Y1==+1
ELSEIF dir=6 THEN X1==-1 Y1==+1
ELSEIF dir=7 THEN X1==-1
ELSEIF dir=8 THEN X1==-1 Y1==-1
FI
FI
BirdDist==-1
count=0
FI
IF BirdCount THEN
BirdCount==-1
FI
IF count=Speed THEN
IF BirdDist<1 THEN
dir=Rand(9)
BirdDist=Rand(40)
FI
IF BirdCount=0 THEN
IF dir=1 THEN Y1==-1
ELSEIF dir=2 THEN X1==+1 Y1==-1
ELSEIF dir=3 THEN X1==+1
ELSEIF dir=4 THEN X1==+1 Y1==+1
ELSEIF dir=5 THEN Y1==+1
ELSEIF dir=6 THEN X1==-1 Y1==+1
ELSEIF dir=7 THEN X1==-1
ELSEIF dir=8 THEN X1==-1 Y1==-1
FI
FI
BirdDist==-1
count=0
FI
At line 712 changed 39 lines
IF RobotSpeed1>Speed-1 THEN
RobotSpeed1=0
RobotCount1==+1
IF RobotCount1>7 THEN
RobotCount1=0
IF X2<48 THEN X2=200
ELSEIF X2>200 THEN X2=48
FI
OldX2=X2 OldY2=Y2
RobotDist1==-1
IF RobotDist1<1 THEN
RobotDist1=Rand(8)
IF Rand(3)#2 THEN
disx=ABS(X0-X2)
disy=ABS(Y0-Y2)
IF disx>disy THEN
IF X2>X0 THEN
robotdir=4
ELSE
robotdir=2
FI
ELSE
IF Y2>Y0 THEN
robotdir=1
ELSE
robotdir=3
FI
FI
ELSE robotdir=Rand(5)
FI
FI
FI
;Adjust coordinates for robot
IF robotdir=1 THEN Y2==-1
ELSEIF robotdir=2 THEN X2==+1
ELSEIF robotdir=3 THEN Y2==+1
ELSEIF robotdir=4 THEN X2==-1
FI
FI
IF RobotSpeed1>Speed-1 THEN
RobotSpeed1=0
RobotCount1==+1
IF RobotCount1>7 THEN
RobotCount1=0
IF X2<48 THEN X2=200
ELSEIF X2>200 THEN X2=48
FI
OldX2=X2 OldY2=Y2
RobotDist1==-1
IF RobotDist1<1 THEN
RobotDist1=Rand(8)
IF Rand(3)#2 THEN
disx=ABS(X0-X2)
disy=ABS(Y0-Y2)
IF disx>disy THEN
IF X2>X0 THEN
robotdir=4
ELSE
robotdir=2
FI
ELSE
IF Y2>Y0 THEN
robotdir=1
ELSE
robotdir=3
FI
FI
ELSE robotdir=Rand(5)
FI
FI
FI
;Adjust coordinates for robot
IF robotdir=1 THEN Y2==-1
ELSEIF robotdir=2 THEN X2==+1
ELSEIF robotdir=3 THEN Y2==+1
ELSEIF robotdir=4 THEN X2==-1
FI
FI
At line 757 changed 39 lines
IF RobotSpeed2>Speed-1 THEN
RobotSpeed2=0
RobotCount2==+1
IF RobotCount2>7 THEN
RobotCount2=0
IF X3<48 THEN X3=200
ELSEIF X3>200 THEN X3=48
FI
OldX3=X3 OldY3=Y3
RobotDist2==-1
IF RobotDist2<1 THEN
RobotDist2=Rand(8)
IF Rand(3)#2 THEN
disx=ABS(X0-X3)
disy=ABS(Y0-Y3)
IF disx>disy THEN
IF X3>X0 THEN
robotdir=4
ELSE
robotdir=2
FI
ELSE
IF Y3>Y0 THEN
robotdir=1
ELSE
robotdir=3
FI
FI
ELSE robotdir=Rand(5)
FI
FI
FI
;Adjust coordinates for robot
IF robotdir=1 THEN Y3==-1
ELSEIF robotdir=2 THEN X3==+1
ELSEIF robotdir=3 THEN Y3==+1
ELSEIF robotdir=4 THEN X3==-1
FI
FI
IF RobotSpeed2>Speed-1 THEN
RobotSpeed2=0
RobotCount2==+1
IF RobotCount2>7 THEN
RobotCount2=0
IF X3<48 THEN X3=200
ELSEIF X3>200 THEN X3=48
FI
OldX3=X3 OldY3=Y3
RobotDist2==-1
IF RobotDist2<1 THEN
RobotDist2=Rand(8)
IF Rand(3)#2 THEN
disx=ABS(X0-X3)
disy=ABS(Y0-Y3)
IF disx>disy THEN
IF X3>X0 THEN
robotdir=4
ELSE
robotdir=2
FI
ELSE
IF Y3>Y0 THEN
robotdir=1
ELSE
robotdir=3
FI
FI
ELSE robotdir=Rand(5)
FI
FI
FI
;Adjust coordinates for robot
IF robotdir=1 THEN Y3==-1
ELSEIF robotdir=2 THEN X3==+1
ELSEIF robotdir=3 THEN Y3==+1
ELSEIF robotdir=4 THEN X3==-1
FI
FI
At line 812 changed 7 lines
IF CheckLocate(X0,Y0)=1 THEN
IF Hit_Man(4) THEN
IF Locate(X,Y)='* THEN
Sype(" ",ScRam+offset)
Score==+Dots
BonusSound=30
FI
IF CheckLocate(X0,Y0)=1 THEN
IF Hit_Man(4) THEN
IF Locate(X,Y)='* THEN
Sype(" ",ScRam+offset)
Score==+Dots
BonusSound=30
FI
At line 820 changed 6 lines
ELSEIF Hit_Man(8) THEN
IF Locate(X,Y)=' THEN
Score==+101
Sype(" ",ScRam+offset)
DoorSound=30
FI
ELSEIF Hit_Man(8) THEN
IF Locate(X,Y)=' THEN
Score==+101
Sype(" ",ScRam+offset)
DoorSound=30
FI
At line 827 changed 9 lines
ELSEIF Hit_Man(2) THEN
IF Locate(X,Y)=' THEN
Sype(" ",ScRam+offset)
Score==+2
Dots==+1
DotSound=2
FI
FI
FI
ELSEIF Hit_Man(2) THEN
IF Locate(X,Y)=' THEN
Sype(" ",ScRam+offset)
Score==+2
Dots==+1
DotSound=2
FI
FI
FI
At line 837 changed 9 lines
IF Hit_Man(1) THEN
X0=OldX0
Y0=OldY0
StickFlag=7
Score==+1
IF X0<80 AND Y0>184 THEN
Score==-1
FI
FI
IF Hit_Man(1) THEN
X0=OldX0
Y0=OldY0
StickFlag=7
Score==+1
IF X0<80 AND Y0>184 THEN
Score==-1
FI
FI
At line 847 changed 4 lines
IF Hit_Robot1(1) THEN
X2=OldX2 Y2=OldY2
RobotCount1=7 RobotDist1=1
FI
IF Hit_Robot1(1) THEN
X2=OldX2 Y2=OldY2
RobotCount1=7 RobotDist1=1
FI
At line 852 changed 7 lines
IF Hit_Robot1(8) THEN
X=(X2-46)/8 Y=(Y2-24)/8
IF Locate(X,Y)=' THEN
offset=(Y*20)+X
Sype(" ",ScRam+offset)
FI
FI
IF Hit_Robot1(8) THEN
X=(X2-46)/8 Y=(Y2-24)/8
IF Locate(X,Y)=' THEN
offset=(Y*20)+X
Sype(" ",ScRam+offset)
FI
FI
At line 860 changed 4 lines
IF Hit_Robot2(1) THEN
X3=OldX3 Y3=OldY3
RobotCount2=7 RobotDist2=1
FI
IF Hit_Robot2(1) THEN
X3=OldX3 Y3=OldY3
RobotCount2=7 RobotDist2=1
FI
At line 865 changed 7 lines
IF Hit_Robot2(8) THEN
X=(X3-46)/8 Y=(Y3-24)/8
IF Locate(X,Y)=' THEN
offset=(Y*20)+X
Sype(" ",ScRam+offset)
FI
FI
IF Hit_Robot2(8) THEN
X=(X3-46)/8 Y=(Y3-24)/8
IF Locate(X,Y)=' THEN
offset=(Y*20)+X
Sype(" ",ScRam+offset)
FI
FI
At line 873 changed 6 lines
IF P0PL=2 THEN
Zero(PMRam+$500,$100)
Score==-50 X1=47 Y1=29
BirdCount=100
Hit_Bad_Guy()
FI
IF P0PL=2 THEN
Zero(PMRam+$500,$100)
Score==-50 X1=47 Y1=29
BirdCount=100
Hit_Bad_Guy()
FI
At line 880 changed 6 lines
IF P0PL=4 OR P0PL=8 THEN
Lives==-1
Life_Display()
Hit_Bad_Guy()
Reset()
FI
IF P0PL=4 OR P0PL=8 THEN
Lives==-1
Life_Display()
Hit_Bad_Guy()
Reset()
FI
At line 887 changed 4 lines
IF X1>192 THEN X1==-2 BirdDist=0 FI
IF X1<47 THEN X1==+2 BirdDist=0 FI
IF Y1>200 THEN Y1==-2 BirdDist=0 FI
IF Y1<29 THEN Y1==+2 BirdDist=0 FI
IF X1>192 THEN X1==-2 BirdDist=0 FI
IF X1<47 THEN X1==+2 BirdDist=0 FI
IF Y1>200 THEN Y1==-2 BirdDist=0 FI
IF Y1<29 THEN Y1==+2 BirdDist=0 FI
At line 895 changed 23 lines
IF Score=0 THEN
extra_life=0
FI
IF Trig0=0 THEN Pause() FI
IF Dots>172 AND X0<74 AND
Y0>192 AND Screen=1 THEN
NextMaze()
ELSEIF Dots>177 AND X0<74 AND
Y0>192 AND Screen=2 THEN
NextMaze()
ELSEIF Dots>252 AND X0<74 AND
Y0>192 AND Screen=3 THEN
NextMaze()
FI
IF extra_life=0 AND Score>2999 THEN
Lives==+1
Life_Display()
extra_life=1
FI
IF Lives<1 THEN
Life_Display()
Over()
FI
IF Score=0 THEN
extra_life=0
FI
IF Trig0=0 THEN Pause() FI
IF Dots>172 AND X0<74 AND
Y0>192 AND Screen=1 THEN
NextMaze()
ELSEIF Dots>177 AND X0<74 AND
Y0>192 AND Screen=2 THEN
NextMaze()
ELSEIF Dots>252 AND X0<74 AND
Y0>192 AND Screen=3 THEN
NextMaze()
FI
IF extra_life=0 AND Score>2999 THEN
Lives==+1
Life_Display()
extra_life=1
FI
IF Lives<1 THEN
Life_Display()
Over()
FI
At line 923 changed 14 lines
Flash()
BGNoise()
Collisions()
Move_Stick()
Move_Bird()
Move_Robot1()
Move_Robot2()
Animate()
Sounds()
PosPlayer()
Score_Display()
Checks()
Delay(1)
IF Con=6 THEN EXIT FI
Flash()
BGNoise()
Collisions()
Move_Stick()
Move_Bird()
Move_Robot1()
Move_Robot2()
Animate()
Sounds()
PosPlayer()
Score_Display()
Checks()
Delay(1)
IF Con=6 THEN EXIT FI
At line 957 changed 3 lines
IF Score>HighScore THEN
HighScore=Score
FI
IF Score>HighScore THEN
HighScore=Score
FI
At line 967 removed one line