home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
games
/
weird.amos
/
weird.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1991-12-02
|
43KB
|
1,289 lines
Procedure CR
Screen Open 0,320,256,8,Lowres : Hide On : Curs Off
Cls 5
Locate 0,0 : Pen 3 : Paper 5 : Print " Attention: "
Paper 5 : Pen 6
Locate 0,2 : Print "THIS PROGRAM IS LICENSED TO AMIGANUTS "
Locate 0,4 : Print " It is NOT P.D or Shareware"
Pen 7
Locate 4,24 : Print " Got a Screw Loose...?"
Locate 4,26 : Print " (Press a key...)"
Wait Key
Screen Close 0
End Proc
INFO
BB1=0 : SCREW=0
Global BLOCK,BB1,BB2,SCREW
ST: Rem start of initialising..
Amreg(13)=0 : Rem amreg 13 =score
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Load "Music/zero.abk"
Load Iff "iff/title",0
Locate 6,1 : Paper 0 : Print "Press Fire to Start at Level 1"
Locate 6,3 : Print " Press 'P' to enter password"
Locate 0,24 : Pen 5 : Print " Edgeways Corp (c) C.Banks 1991"
Channel 2 To Screen Display 2
Load Iff "iff/droidplan",2
Screen Display 2,112,-220,,
Amal 2,"Loop: M 0,0,160;M 0,270,70;M 0,0,160;M 0,-270,70;P;J Loop" : Amal On(2)
Screen 0
CHS: Rem choose
If Inkey$="p" Then PASSWORD : Goto BEGIN
If Fire(1) Then Amreg(11)=1 : Screen Close 2 : Goto BEGIN
Goto CHS
BEGIN: Rem
Amal Off
Screen Close 0
Make Mask
Sprite Update Off
Bob Off
Procedure PASSWORD
Screen Close 2
Amal Off
QUERY: Cls 0 : Locate 6,2
Ink 3 : Box 40,10 To 300,50
Input "Password please...";PASS$
If PASS$="k.o" Then Amreg(11)=2 : Pop Proc
If PASS$="binky" Then Amreg(11)=3 : Pop Proc
If PASS$="ezee" Then Amreg(11)=4 : Pop Proc
If PASS$="plus" Then Amreg(11)=5 : Pop Proc
If PASS$="invader" Then Amreg(11)=6 : Pop Proc
If PASS$="odie" Then Amreg(11)=7 : Pop Proc
If PASS$="uhu" Then Amreg(11)=8 : Pop Proc
If PASS$="megaboard" Then Amreg(11)=9 : Pop Proc
If PASS$="copyrite" Then Amreg(11)=10 : Pop Proc
If PASS$="fa cup" Then Amreg(11)=11 : Pop Proc
If PASS$="corkscrew" Then Amreg(11)=12 : Pop Proc
If PASS$="commy" Then Amreg(11)=13 : Pop Proc
If PASS$="hombre" Then Amreg(11)=14 : Pop Proc
If PASS$="hash" Then Amreg(11)=15 : Pop Proc
If PASS$="x word" Then Amreg(11)=16 : Pop Proc
Goto QUERY
End Proc
Procedure SETCHAN
Channel 0 To Sprite 0 : Rem Cursor
Channel 1 To Bob 1 : Rem Falling Block
Channel 2 To Sprite 4 : Rem Droid
Channel 6 To Bob 6 : Rem BUG-Bob 1
Channel 7 To Bob 7 : Rem BOB-bug 7
Channel 8 To Bob 8 : Rem Random block 1
Channel 9 To Bob 9 : Rem random block 9
Channel 14 To Screen Display 1
Channel 15 To Bob 32 : Rem static
Rem assign corner screws to a channel..........................
Channel 3 To Bob 3 : Channel 4 To Bob 4 : Channel 5 To Bob 5
End Proc
Procedure SCORE
Amal Freeze
Wait 40
Screen Open 1,320,26,4,Lowres
Screen Display 1,112,10,,
SCREW=0
If Amreg(5)=2 Then SCREW=SCREW+1
If Amreg(6)=2 Then SCREW=SCREW+1
If Amreg(7)=2 Then SCREW=SCREW+1
Screen 1 : Cls 0 : Curs Off : Paper 2 : Pen 0
Locate 1,1 : Print " STATUS "
Pen 2 : Paper 0
Locate 1,2 : Print " SCORE ";Amreg(13);" Bugs Killed";Amreg(10);" DONE: ";SCREW
Ink 3 : Box 0,0 To 319,23
Amal 14,"M 0,100,60;M 0,0,120;M 0,-100,30" : Amal On(14)
Wait 240 : Amal On
Screen Close 1
End Proc
Procedure LEVELSORT
SCREW=0
Music Off
Sprite 4,100,100, : Sprite Update
Amreg(0)=0 : Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0 : Amreg(10)=0 : Amreg(12)=0 : Amreg(14)=0
Amreg(4)=0 : Amreg(15)=0 : Amreg(16)=0 : Amreg(17)=0 : Amreg(18)=0
If Amreg(11)=1 Then CIRCUIT1
If Amreg(11)=2 Then CIRCUIT2
If Amreg(11)=3 Then CIRCUIT3
If Amreg(11)=4 Then CIRCUIT4
If Amreg(11)=5 Then CIRCUIT5
If Amreg(11)=6 Then CIRCUIT6
If Amreg(11)=7 Then CIRCUIT7
If Amreg(11)=8 Then CIRCUIT8
If Amreg(11)=9 Then CIRCUIT9
If Amreg(11)=10 Then CIRCUIT10
If Amreg(11)=11 Then CIRCUIT11
If Amreg(11)=12 Then CIRCUIT12
If Amreg(11)=13 Then CIRCUIT13
If Amreg(11)=14 Then CIRCUIT14
If Amreg(11)=15 Then CIRCUIT15
If Amreg(11)=16 Then CIRCUIT16
End Proc
Procedure BLOKIT
For B=8 To 22 : Bob B,-25,-15,8
Bob 1,-25,-10,8
Next B
Music 1
End Proc
Procedure WORDBOX
Ink 3 : Box 175,75 To 270,90
Locate 10,12 : Pen 2 : Paper 0 : Print "Press a key.."
Wait Key
End Proc
Procedure STATIC
Channel 15 To Bob 32
Wait Vbl : Screen Swap : Bob 32,300,230,8
Amal 15,"Loop: L A=57;M 0,-230,280;L A=56;M -10,0,20;L A=57;M 0,230,280;L A=56;M -10,0,20;P;J Loop"
Amal On(15)
End Proc
Procedure CIRCUIT1
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0
Load Iff "iff/circuit1"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,250,161,24
Bob 4,250,18,24
Bob 5,10,16,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,164,72,3
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,-7,123,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
'
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,40,170,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,8,186,8 : Rem Bug1
Bob 7,200,90,8 : Rem bug2
Wait 140
Sprite 4,150,210,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 24,0,140;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,140;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT2
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: k.o" : WORDBOX
Load Iff "iff/circuit2"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 31,258,100,47
Bob 3,250,161,24
Bob 4,132,10,24
Bob 5,35,20,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
Rem Random blocks now in position....
Bob 8,164,72,3
Bob 9,20,168,3
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M0,0,180;P;J Loop" : Amal On(9)
Rem Extra blocks.....
Bob 27,140,24,2
Bob 28,140,168,3
Bob 30,-7,25,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
'
Sprite 0,148,40,1 : Rem Cursor Sprite
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
Wait 160
Sprite 4,366,138,10 : Rem droid
Bob 31,,,8
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,8,186,31 : Rem Bug1
Bob 7,200,90,31 : Rem bug2
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 24,0,140;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,140;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT3
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: binky" : WORDBOX
Load Iff "iff/circuit3"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,33,140,24
Bob 4,200,60,24
Bob 5,154,60,24
'rem Blockers follow...
Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
Rem Random blocks now in position....
Bob 8,236,72,3
Bob 9,20,168,3
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M0,0,180;P;J Loop" : Amal On(9)
Rem Extra blocks.....
Bob 27,140,24,2
Bob 28,140,120,3
Bob 30,6,74,37
Bob 31,255,96,47
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
'
Sprite 0,148,40,1 : Rem Cursor Sprite
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
Wait 160
'Above moves Droid in pos-----------------------------------------------------------
Sprite 4,366,138,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Bob 6,8,186,31 : Rem Bug1
Bob 7,200,138,31 : Rem bug2
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 24,0,140;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,150;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
End Proc
Procedure CIRCUIT4
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: ezee" : WORDBOX
Load Iff "iff/circuit4"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 1,4,4,
Bob 3,33,140,24
Bob 4,245,165,24
Bob 5,245,15,24
'rem Blockers follow...
Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
Rem Random blocks now in position....
Bob 8,236,72,3
Bob 9,20,168,3
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(9)
Rem Extra blocks.....
Bob 27,212,168,3
Bob 28,44,120,3
Bob 30,166,95,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Sprite 0,148,40,1 : Rem Cursor Sprite
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
Bob 31,40,20,47
Wait 160
'Above moves Droid in pos-----------------------------------------------------------
Sprite 4,150,66,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Bob 6,248,162,31 : Rem Bug1
Bob 7,200,186,31 : Rem bug2
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 0,24,140;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,150;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M 24,0,140;L RJ=0" : Amal On(7)
STATIC
End Proc
Procedure CIRCUIT5
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: plus" : WORDBOX
Load Iff "iff/circuit5"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 1,4,4,
Bob 3,294,90,24
Bob 4,1,114,24
Bob 5,170,20,24
'rem Blockers follow...
Bob 23,20,142,7 : Bob 24,80,142,7 : Bob 25,140,214,7 : Bob 26,190,142,7
Rem Random blocks now in position....
Bob 8,20,96,3
Bob 9,20,168,8
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
'Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(9)
Rem Extra blocks.....
Bob 27,260,120,4
Bob 28,284,120,3
Bob 30,120,192,37
'
Bob 31,185,195,47
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Sprite 0,148,40,1 : Rem Cursor Sprite
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
Wait 160
Sprite 4,295,235,10 : Rem Maintenance Droid Sprite
'Above moves Droid in pos-----------------------------------------------------------
Bob 31,,,8
Bob 6,32,90,31 : Rem Bug1
Bob 7,176,138,31 : Rem bug2
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 0,24,140;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,150;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
End Proc
Procedure CIRCUIT6
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: invader" : WORDBOX
Load Iff "iff/Invader"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,270,184,24
Bob 4,170,40,24
Bob 5,19,184,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,44,192,4 : Bob 28,260,192,4
'
Bob 23,75,190,7 : Bob 24,160,166,7 : Bob 25,120,166,7 : Bob 26,210,190,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,120,3
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,150,5,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
'
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,90,25,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,80,138,8 : Rem Bug1
Bob 7,224,138,8 : Rem bug2
Wait 140
Sprite 4,198,66,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT7
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: odie" : WORDBOX
Load Iff "iff/Odie"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,220,190,24
Bob 4,30,55,24
Bob 5,32,200,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,44,192,1 : Bob 28,260,192,8
'
Bob 23,70,214,7 : Bob 24,140,214,7 : Bob 25,200,214,7 : Bob 26,260,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,120,3
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,280,30,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,280,50,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,56,138,8 : Rem Bug1
Bob 7,224,138,8 : Rem bug2
Wait 140
Sprite 4,390,90,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT8
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: uhu" : WORDBOX
Load Iff "iff/UHU"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,250,165,24
Bob 4,0,55,24
Bob 5,0,165,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,236,24,8 : Bob 28,236,168,3
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,140,144,3
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,210,50,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,30,25,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,32,114,8 : Rem Bug1
Bob 7,176,162,8 : Rem bug2
Wait 140
Sprite 4,150,66,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT9
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: megaboard" : WORDBOX
Load Iff "iff/megaboard"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,250,20,24
Bob 4,90,65,24
Bob 5,0,165,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,188,144,1 : Bob 28,236,168,8
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,8
Bob Off(9)
' RK = No of bugs killed
'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,14,2,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,260,170,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,248,42,8 : Rem Bug1
Bob 7,224,162,8 : Rem bug2
Wait 140
Sprite 4,366,210,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,80;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT10
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: copyrite" : WORDBOX
Load Iff "iff/copyrite"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,250,20,24
Bob 4,200,110,24
Bob 5,0,165,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,188,144,1 : Bob 28,236,168,8
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,8
Bob Off(9)
' RK = No of bugs killed
'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,14,2,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,260,170,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,248,42,8 : Rem Bug1
Bob 7,224,162,8 : Rem bug2
Wait 140
Sprite 4,198,114,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,80;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT11
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: fa cup" : WORDBOX
Load Iff "iff/FAcup"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,18,20,24
Bob 4,223,140,24
Bob 5,18,140,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,212,144,4 : Bob 28,44,144,1
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,8
Bob Off(9)
' RK = No of bugs killed
'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,206,193,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,260,170,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,56,162,8 : Rem Bug1
Bob 7,224,162,8 : Rem bug2
Wait 140
Sprite 4,318,234,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT12
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: corkscrew" : WORDBOX
Load Iff "iff/corkscrew"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,18,20,24
Bob 4,70,92,24
Bob 5,70,160,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,164,72,3 : Bob 28,44,144,8
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,8
Bob Off(9)
' RK = No of bugs killed
'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,66,194,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,255,20,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,55,90,8 : Rem Bug1
Bob 7,175,90,8 : Rem bug2
Wait 140
Sprite 4,366,66,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT13
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: commy" : WORDBOX
Load Iff "iff/chickhead"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,177,10,24
Bob 4,177,160,24
Bob 5,30,40,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,164,120,4 : Bob 28,164,168,4
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,8
Bob Off(9)
' RK = No of bugs killed
'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,230,50,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
'Music 1
'
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,40,170,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,55,90,8 : Rem Bug1
Bob 7,175,114,8 : Rem bug2
Wait 140
Sprite 4,150,210,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT14
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: hombre" : WORDBOX
Load Iff "iff/hombre"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,35,20,24
Bob 4,220,120,24
Bob 5,35,120,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,20,24,1 : Bob 28,68,192,4
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,1
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,200,20,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
'Music 1
'
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,96,200,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,247,186,8 : Rem Bug1
Bob 7,223,186,8 : Rem bug2
Wait 140
Sprite 4,199,210,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT15
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: hash" : WORDBOX
Load Iff "iff/hash"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,250,40,24
Bob 4,248,140,24
Bob 5,0,35,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,20,24,8 : Bob 28,68,192,8
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,1
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,62,20,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
'Music 1
'
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,45,150,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,247,186,8 : Rem Bug1
Bob 7,223,186,8 : Rem bug2
Wait 140
Sprite 4,151,186,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CIRCUIT16
Screen Open 0,320,256,16,Lowres : Hide On : Curs Off
Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: x word" : WORDBOX
Load Iff "iff/xword"
Double Buffer
BLOKIT
Get Sprite Palette
Rem Set Up Corner Screws....
Bob 3,45,46,24
Bob 4,210,166,24
Bob 5,250,40,24
Rem set all screw flags down...
Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
'rem Blockers follow...
Rem xtra blox
Bob 27,20,24,8 : Bob 28,68,192,8
'
Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
Rem Random blocks now in position....
Wait Vbl
Bob 8,212,168,1
Bob Off(9)
' RK = No of bugs killed
Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
Bob 30,62,20,37
'
' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc
Bob 1,-10,-10,6
'Music 1
'
Sprite 0,148,40,1 : Rem Cursor Sprite
Sprite Update
'*****************Last Chance to Initialise variables ! !***************
Rem Initialise Ext Regs( ie -RC= No of Block to be thrown)
Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
Bob 31,85,190,47
'Above moves Droid in pos-----------------------------------------------------------
Bob 6,247,186,8 : Rem Bug1
Bob 7,223,186,8 : Rem bug2
Wait 140
Sprite 4,151,186,10 : Rem Maintenance Droid Sprite
Bob 31,,,8
Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
STATIC
Goto GO
End Proc
Procedure CURSOR
If Y Bob(1)>225 Then Amal Off(1) : Bob 1,,225, : Play 1,1,0 : Amreg(4)=0
If Amreg(0)=1 Then Pop Proc
If Joy(1)=16 Then BLOCKSWAP
If Joy(1)=4 Then MLEFT
If Joy(1)=8 Then MRIGHT
If I Sprite(0)=6 Then Goto SKIPBRIDGE
If Joy(1)=2 Then BLOCKDOWN
SKIPBRIDGE: Rem
If Joy(1)=1 Then BRIDGEBLOK
End Proc
Procedure BRIDGEBLOK
If Amreg(4)=1 Then Pop Proc
If Amreg(12)>1 Then Sprite 0,,,1 : Pop Proc
Amreg(12)=Amreg(12)+1
Sprite 0,,,6 : BLOCKDOWN
End Proc
Procedure BLOCKSWAP
If Amreg(4)=1 Then Pop Proc
B$="P;L A=A+1;P;If A<6 J Frame LA=1 Frame: "
Amal 0,B$ : Amal On(0) : Play 2,96,4
Sam Play 4,1
End Proc
Procedure BLOCKDOWN
If Amreg(4)=1 Then Pop Proc
BX=X Screen(0,X Sprite(0)) : BY=Y Screen(0,Y Sprite(0))
Bob 1,BX,BY,I Sprite(0)
If Amreg(2)>21 Then Amreg(2)=9
Amal 1,"L RE=1;L RC=RC+1; L RO=RO+1;A 20,(1,1)(2,1)(3,1)(4,1); Loop: M 0,5,2;P;J Loop" : Amal On(1)
Locate 0,0 : Pen 2 : Print Amreg(14)
End Proc
Procedure BLOCKPLACE
If Bob Col(1,23 To 26) Then Play 8,95,0 : BLOCKUP2
End Proc
Procedure BLOCKUP2
Bob 1,,,0
If Col(23) Then Bob Amreg(2),X Bob(1),Y Bob(23)-22,I Sprite(0)
If Col(24) Then Bob Amreg(2),X Bob(1),Y Bob(24)-22,I Sprite(0)
If Col(25) Then Bob Amreg(2),X Bob(1),Y Bob(25)-22,I Sprite(0)
If Col(26) Then Bob Amreg(2),X Bob(1),Y Bob(26)-22,I Sprite(0)
Amal 1,"M 0,0,5;L RE=0;L A=8" : Amal On(1)
End Proc
Procedure BLOCKPLACE1
If Bob Col(1,8 To 22) Then Play 8,93,0 : BLOCKUP
If Bob Col(1,27 To 29) Then Play 8,83,0 : BLOCKUP
End Proc
Procedure BLOCKUP
Amal 1,"M 0,0,5;L RE=0;L A=8" : Amal On(1)
If Col(8) Then BX=X Bob(8) : BY=Y Bob(8)
If Col(9) Then BX=X Bob(9) : BY=Y Bob(9)
If Col(10) Then BX=X Bob(10) : BY=Y Bob(10)
If Col(11) Then BX=X Bob(11) : BY=Y Bob(11)
If Col(12) Then BX=X Bob(12) : BY=Y Bob(12)
If Col(13) Then BX=X Bob(13) : BY=Y Bob(13)
If Col(14) Then BX=X Bob(14) : BY=Y Bob(14)
If Col(15) Then BX=X Bob(15) : BY=Y Bob(15)
If Col(16) Then BX=X Bob(16) : BY=Y Bob(16)
If Col(17) Then BX=X Bob(17) : BY=Y Bob(17)
If Col(18) Then BX=X Bob(18) : BY=Y Bob(18)
If Col(19) Then BX=X Bob(19) : BY=Y Bob(19)
If Col(20) Then BX=X Bob(20) : BY=Y Bob(20)
If Col(21) Then BX=X Bob(21) : BY=Y Bob(21)
If Col(22) Then BX=X Bob(22) : BY=Y Bob(22)
If Col(23) Then BX=X Bob(23) : BY=Y Bob(23)
If Col(27) Then BX=X Bob(27) : BY=Y Bob(27)
If Col(28) Then BX=X Bob(28) : BY=Y Bob(28)
Bob Amreg(2),BX,BY-24,I Sprite(0)
If Y Bob(Amreg(2))<20 Then Bob Amreg(2),0,-10,8
Bob 1,-10,,0
End Proc
Procedure MLEFT
If Amreg(0)=1 Then Pop Proc
If X Sprite(0)<150 Then Pop Proc
Amal 0,"L RA=1;P;M -24,0,1;P;M 0,0,10;L RA=0" : Amal On(0)
Sam Play 4,1,25000
End Proc
Procedure MRIGHT
If Amreg(0)=1 Then Pop Proc
If X Sprite(0)>410 Then Pop Proc
Amal 0,"L RA=1;P;M 24,0,1;P;M 0,0,10;L RA=0" : Amal On(0)
Sam Play 4,1,25000
End Proc
Procedure DROP
' check if droid still on circuit board or......
If Amreg(1)=1 Then Pop Proc
If Point(X Screen(0,X Sprite(4)+4),Y Screen(0,Y Sprite(4))+4)=0 Then FALL
If X Sprite(4)<126 Then FALL
End Proc
Procedure FALL
Amal Off
Music Off
Sprite Update On
Amal 2,"A 1,(39,6)(40,6)(41,6)(42,6)(43,6)(44,6)(45,6)(8,2)" : Amal On(2)
Wait 150
Load Iff "iff/drop",2
Channel 2 To Screen Display 2
Screen Display 2,112,-220,,
Amal 2,"M 0,230,70;M 0,0,100;M 0,-230,70" : Amal On(2)
Wait 150
'
SCORE
Screen Close 2 : OVER
Wait 190 : Screen Close 0
Goto ST
End Proc
Procedure DROID1
If Amreg(1)=1 Then Pop Proc
Amal Off(2)
If Col(8) Then BLOCK=8
If Col(9) Then BLOCK=9
If Col(10) Then BLOCK=10
If Col(11) Then BLOCK=11
If Col(12) Then BLOCK=12
If Col(13) Then BLOCK=13
If Col(14) Then BLOCK=14
If Col(15) Then BLOCK=15
If Col(16) Then BLOCK=16
If Col(17) Then BLOCK=17
If Col(18) Then BLOCK=18
If Col(19) Then BLOCK=19
If Col(20) Then BLOCK=20
If Col(21) Then BLOCK=21
If Col(22) Then BLOCK=22
If Col(27) Then BLOCK=27
If Col(28) Then BLOCK=28
If Col(29) Then BLOCK=29
DROIDGO
'
End Proc
Procedure DROIDGO
DROP
If I Bob(BLOCK)=1 Then D$="Loop: L RB=1;M 0,0,10;A 5,(18,6)(19,6)(20,6)(19,6)(18,6);M 24,0,80;L RB=0;M 0,0,50;P;J Loop"
Amal 2,D$ : Amal On(2)
If I Bob(BLOCK)=2 Then D$="Loop: L RB=1;M 0,0,10;A 5,(10,6)(11,6)(12,6)(13,6)(12,6)(11,6)(10,6);M 0,24,140;L RB=0;M 0,0,50;P;J Loop"
Amal 2,D$ : Amal On(2)
If I Bob(BLOCK)=3 Then D$="Loop: L RB=1;M 0,0,10;A 5,(21,6)(22,6)(23,6)(22,6)(21,6);M -24,0,80;L RB=0;M 0,0,50;P;J Loop"
Amal 2,D$ : Amal On(2)
If I Bob(BLOCK)=4 Then D$="Loop: L RB=1;M 0,0,10;A 5,(14,6)(15,6)(16,6)(17,6)(16,6)(15,6)(14,6);M 0,-24,80;L RB=0;M 0,0,50;P;J Loop"
Amal 2,D$ : Amal On(2)
Wait Vbl : Sprite Update
If I Bob(BLOCK)=5 Then BLOKGONE
If I Bob(BLOCK)=6 Then XTRABOARD
End Proc
Procedure OVER
Amal Off
Bob Update On
For B=10 To 28 : Bob B,,,8 : Next B
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
Bob 10,120,-30,49 : Bob 11,142,-30,50 : Bob 12,164,-30,51 : Bob 13,186,-30,52
Bob 14,142,-10,53 : Bob 15,164,-10,54
DROP1$="M 0,100,50;M 0,-5,20;M 0,5,20"
DROP2$="A 8,(1,2)(2,2)(3,2)(4,2);M 0,110,70;L A=53;M 0,-10,30;M 0,10,30"
DROP3$="A 8,(1,2)(2,2)(3,2)(4,2);M 0,110,70;L A=54;M 0,-10,30;M 0,10,30"
Amal 10,DROP1$ : Amal 11,DROP1$ : Amal 12,DROP1$ : Amal 13,DROP1$ : Amal 14,DROP2$ : Amal 15,DROP3$
Amal On(10) : Wait 30 : Amal On(11) : Wait 30 : Amal On(12) : Wait 30 : Amal On(13) : Wait 30
Amal On(14) : Wait 50 : Amal On(15)
End Proc
Procedure XTRABOARD
Paste Bob X Screen(0,X Sprite(4)-2),Y Screen(0,Y Sprite(4)),46
Shoot
BLOKGONE
End Proc
Procedure BLOKGONE
For B=10 To 22 : Bob B,,,8 : Next B
Play 8,40,0
End Proc
Procedure HOLEBLOCK
For B=10 To 22 : Bob B,,,48 : Next B
Play 8,1,0
End Proc
Procedure BUG1
If Amreg(8)=1 Then Pop Proc
If Col(23) Then Pop Proc
If Col(24) Then Pop Proc
If Col(25) Then Pop Proc
If Col(26) Then Pop Proc
If Col(8) Then BB1=8
If Col(9) Then BB1=9
If Col(10) Then BB1=10
If Col(11) Then BB1=11
If Col(12) Then BB1=12
If Col(13) Then BB1=13
If Col(14) Then BB1=14
If Col(15) Then BB1=15
If Col(16) Then BB1=16
If Col(17) Then BB1=17
If Col(18) Then BB1=18
If Col(19) Then BB1=19
If Col(20) Then BB1=20
If Col(21) Then BB1=21
If Col(22) Then BB1=22
If Col(27) Then BB1=27
If Col(28) Then BB1=28
If Col(29) Then BB1=29
MOVEBUG1
End Proc
Procedure MOVEBUG1
If I Bob(BB1)=1 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M 24,0,80;L RI=0;M 0,0,60;P;J Loop"
Amal 6,B1$ : Amal On(6)
If I Bob(BB1)=2 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M 0,24,80;L RI=0;M 0,0,60;P;J Loop"
Amal 6,B1$ : Amal On(6)
If I Bob(BB1)=3 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M -24,0,80;L RI=0;M 0,0,60;P;J Loop"
Amal 6,B1$ : Amal On(6)
If I Bob(BB1)=4 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M 0,-24,80;L RI=0;M 0,0,60;P;J Loop"
Amal 6,B1$ : Amal On(6)
Rem bug bites the dust ......
If I Bob(BB1)=5 : Amal Off(6) : B1$="L RI=1;A 1,(33,3)(34,2)(35,2)(36,2)(37,2)(8,8);L RK=RK+1" : Amal 6,B1$ : Amal On(6)
Boom : Ink 0 : Bar X Bob(6)-12,Y Bob(6)-18 To X Bob(6)+6,Y Bob(6) : Paste Bob X Bob(6)-12,Y Bob(6)-22,38
Amreg(13)=Amreg(13)+1000 : SCORE : End If
Rem bug hits bridger block
If I Bob(BB1)=6 Then HOLEBLOCK
End Proc
Procedure BUGCHECK1
If Amreg(8)=1 Then Pop Proc
If X Bob(6)>249 Then Bob 6,32,,
If X Bob(6)<32 Then Bob 6,248,,
If Y Bob(6)<25 Then Bob 6,,186,
If Y Bob(6)>200 Then Bob 6,,42,
End Proc
Procedure BUGSCREW
Rem check for collision between Bugs & Screws
If Bob Col(6,3 To 5) Then SCREWUP
End Proc
Procedure BUG2
If Amreg(9)=1 Then Pop Proc
If Col(23) Then Pop Proc
If Col(24) Then Pop Proc
If Col(25) Then Pop Proc
If Col(26) Then Pop Proc
If Col(8) Then BB2=8
If Col(9) Then BB2=9
If Col(10) Then BB2=10
If Col(11) Then BB2=11
If Col(12) Then BB2=12
If Col(13) Then BB2=13
If Col(14) Then BB2=14
If Col(15) Then BB2=15
If Col(16) Then BB2=16
If Col(17) Then BB2=17
If Col(18) Then BB2=18
If Col(19) Then BB2=19
If Col(20) Then BB2=20
If Col(21) Then BB2=21
If Col(22) Then BB2=22
If Col(27) Then BB2=27
If Col(28) Then BB2=28
If Col(29) Then BB2=29
MOVEBUG2
End Proc
Procedure MOVEBUG2
If I Bob(BB2)=1 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M 24,0,80;L RJ=0;M 0,0,20;P;J Loop"
Amal 7,B2$ : Amal On(7)
If I Bob(BB2)=2 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M 0,24,80;L RJ=0;M 0,0,20;P;J Loop"
Amal 7,B2$ : Amal On(7)
If I Bob(BB2)=3 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M -24,0,80;L RJ=0;M 0,0,20;P;J Loop"
Amal 7,B2$ : Amal On(7)
If I Bob(BB2)=4 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M 0,-24,80;L RJ=0;M 0,0,20;P;J Loop"
Amal 7,B2$ : Amal On(7)
Rem bug2 bites the dust ......
If I Bob(BB2)=5 : Amal Off(7) : B2$="L RJ=1;A 1,(33,3)(34,2)(35,2)(36,2)(37,2)(8,8);L RK=RK+1" : Amal 7,B2$ : Amal On(7)
Boom : Ink 0 : Bar X Bob(7)-12,Y Bob(7)-18 To X Bob(7)+6,Y Bob(7) : Paste Bob X Bob(7)-12,Y Bob(7)-22,38
Amreg(13)=Amreg(13)+1000 : SCORE : End If
If I Bob(BB2)=6 Then HOLEBLOCK
End Proc
Procedure BUGCHECK2
If Amreg(9)=1 Then Pop Proc
If X Bob(7)>249 Then Bob 7,32,,
If X Bob(7)<32 Then Bob 7,248,,
If Y Bob(7)<25 Then Bob 7,,186,
If Y Bob(7)>200 Then Bob 7,,42,
End Proc
Procedure BUGSCREW2
Rem check for collision between Bugs & Screws
If Bob Col(7,3 To 5) Then SCREWUP
End Proc
Procedure SCREWCHECK
' CHECK IF DROID HAS HIT SCREW<>>>>
Rem First,check if collision....
If Spritebob Col(4,3 To 5) Then SCREWDOWN
End Proc
Procedure SCREWUP
If Amreg(5)=0 Then Goto SCREWDOWN4
If Col(3) Then Amal 3,"L RF=1;A 1,(29,10)(28,10)(27,10)(26,10)(25,10)(24,10);L RF=0" : Amal On(3) : SCREWUPFX
SCREWDOWN4: Rem screw 3 is loosened
If Amreg(6)=0 Then Goto SCREWDOWN5
If Col(4) Then Amal 4,"L RG=1;A 1,(29,10)(28,10)(27,10)(26,10)(25,10)(24,10);L RG=0" : Amal On(4) : SCREWUPFX
SCREWDOWN5: Rem screw 4 is loosened
If Amreg(7)=0 Then Goto SKIPSCREW
If Col(5) Then Amal 5,"L RH=1;A 1,(29,10)(28,10)(27,10)(26,10)(25,10)(24,10);L RH=0" : Amal On(5) : SCREWUPFX
SKIPSCREW: Rem Leave routine
End Proc
Procedure SCREWDOWN
Rem O.K,Now screwdown
If Amreg(5)>0 Then Goto SCREW2
If Col(3) Then Amal 3,"L RF=1;A 1,(24,11)(25,11)(26,11)(27,11)(28,11)(29,11);L RF=2" : Amal On(3) : SCREWDNFX
SCREW2: Rem screw 1 already tightened
If Amreg(6)>0 Then Goto SCREW3
If Col(4) Then Amal 4,"L RG=1;A 1,(24,11)(25,11)(26,11)(27,11)(28,11)(29,11);L RG=2" : Amal On(4) : SCREWDNFX
SCREW3: Rem screw2 already tightened
If Amreg(7)>0 Then Pop Proc
If Col(5) Then Amal 5,"L RH=1;A 1,(24,11)(25,11)(26,11)(27,11)(28,11)(29,11);L RH=2" : Amal On(5) : SCREWDNFX
End Proc
Procedure SCREWDONE
If Amreg(5)<>2 Then Pop Proc
If Amreg(6)<>2 Then Pop Proc
If Amreg(7)<>2 Then Pop Proc
If Amreg(10)<2 Then Pop Proc
Rem ********** End Of Level*********
Amreg(13)=Amreg(13)+2000
Sam Play 4,2,3300
Bob 30,X Bob(30)+8,,60
Wait 100
Amal Off
LEVDONE
Wait 300 : Bob Off
Fade 5 : Wait 50 : Screen Close 0
Amreg(11)=Amreg(11)+1
SETCHAN: LEVELSORT
End Proc
Procedure SCREWDNFX
Sam Play 4,2,18100
End Proc
Procedure SCREWUPFX
Sam Play 4,2,10100
End Proc
Procedure SCREWBLOW
Amal Off
X$="A 1,(33,6)(34,6)(35,6)(36,6)(8,3)"
Bob Update On
Wait 40
Bob 32,X Bob(3)+20,Y Bob(3)+20,8 : Amal 15,X$ : Amal On(15) : Boom : Bob 3,,,59 : Wait 80
Bob 32,X Bob(4)+20,Y Bob(4)+20,8 : Amal 15,X$ : Amal On(15) : Boom : Bob 4,,,59 : Wait 80
Bob 32,X Bob(5)+20,Y Bob(5)+20,8 : Amal 15,X$ : Amal On(15) : Boom : Bob 5,,,59 : Wait 80
SCORE
Wait 100
OVER
Wait 250 : Screen Close 0
Goto ST
End Proc
Procedure LEVDONE
Channel 10 To Bob 10 : Channel 11 To Bob 11 : Channel 12 To Bob 12 : Channel 13 To Bob 13
Channel 9 To Bob 14 : Channel 15 To Bob 15
Bob Update On
Bob 10,330,200,55 : Bob 11,330,200,55 : Bob 12,330,200,55 : Bob 13,330,200,55
Bob 14,330,200,55 : Bob 15,330,200,55
LEV$="M -270,20,20;M -100,-120,80;M 0,-45,20;M 180,0,70;L X=170"
Amal 10,LEV$ : Amal 11,LEV$ : Amal 12,LEV$ : Amal 13,LEV$ : Amal 9,LEV$
Amal 15,LEV$
Amal On(10) : Wait 15 : Amal On(11) : Wait 15 : Amal On(12) : Wait 15 : Amal On(13)
Wait 15 : Amal On(9) : Wait 15 : Amal On(15)
Wait 250
Screen Open 1,320,26,4,Lowres
Screen Display 1,112,10,,
Screen 1 : Curs Off : Cls 0 : Paper 0 : Pen 2
Locate 1,1 : Print "SCORE........"
Channel 14 To Screen Display(1)
Amal 14,"M 0,100,60" : Amal On(14)
Wait 140
Wait Vbl : Locate 1,1 : Print "No of Blocks Used ";Amreg(14)
Locate 1,2 : Print "Score : ";Amreg(13)
Wait 130
For BLOX=0 To Amreg(14)
Cls 0
Wait Vbl : Locate 1,1 : Print "No of Blocks Used ";Amreg(14)
Locate 1,2 : Print "Score Minus Blocks Used: ";Amreg(13)
Sam Play 4,1,18000 : Wait 8
Amreg(13)=Amreg(13)-10 : Amreg(14)=Amreg(14)-1
Next BLOX
Ink 3 : Box 0,0 To 319,23
Wait 250 : Amal On
Screen Close 1
End Proc
Procedure STAT
If Amreg(18)>2 Then SCREWBLOW
If Amreg(15)=1 Then Goto SKIPSTAT1
If Col(3) : XP=X Bob(3) : YP=Y Bob(3) : Paste Bob XP,YP,58 : Amreg(15)=1
Sam Play 2,1,6000 : Amreg(18)=Amreg(18)+1 : Pop Proc : End If
SKIPSTAT1: If Amreg(16)=1 Then Goto SKIPSTAT2
If Col(4) : XP=X Bob(4) : YP=Y Bob(4) : Paste Bob XP,YP,58 : Amreg(16)=1
Sam Play 2,1,6000 : Amreg(18)=Amreg(18)+1 : Pop Proc : End If
SKIPSTAT2: If Amreg(17)=1 Then Goto SKIPSTAT
If Col(5) : XP=X Bob(5) : YP=Y Bob(5) : Paste Bob XP,YP,58 : Amreg(17)=1
Sam Play 2,1,6000 : Amreg(18)=Amreg(18)+1 : Pop Proc : End If
SKIPSTAT: Rem all screws are loaded,blow it ! !
End Proc
Procedure INFO
Screen Open 0,320,250,4,Lowres
Curs Off : Hide On : Flash Off : Cls 0
Paper 0 : Pen 1 : Locate 5,7 : Print "Also from Edgeways Corp...."
Locate 5,9 : Print "Sour Grapes (Deja Vu Licenseware)"
Locate 9,11 : Print "Coming soon....."
Locate 5,14 : Print "Weird In Edgeways II ! !"
Locate 1,18 : Pen 2 : Print "Got a Screw Loose ?....(Press a Key)"
Wait Key
End Proc
Procedure PAUSE
Amal Freeze
Play 8,61,5 : Play 8,64,5 : Play 8,68,5 : Wait 5
Screen Open 1,320,26,4,Lowres
Screen Display 1,112,10,,
Screen 1 : Cls 0 : Curs Off : Paper 0 : Pen 1
Locate 1,1 : Print " STATUS: PAUSED "
Pen 2 : Paper 0
Locate 1,2 : Print " SCORE ";Amreg(13);" : Hit 'c' to continue"
Ink 3 : Box 0,0 To 319,23
Amal 14,"M 0,100,60" : Amal On(14)
REDO: Rem wait for key press to cont
If Inkey$="c" Then Screen Close 1 : Amal On : Pop Proc
Goto REDO
End Proc
SETCHAN
LEVELSORT
GO: Rem ****START********
Autoback 2
Bob Update Off
GAME
Procedure GAME
Do
Wait Vbl : Screen Swap : Sprite Update
If Inkey$="p" Then PAUSE
Rem Check if screws are all down & bugs killed
If Spritebob Col(4,30 To 30) Then SCREWDONE
DROP
BUGSCREW
If Bob Col(32,3 To 5) Then STAT
CURSOR
BLOCKPLACE1
BUGSCREW2
BLOCKPLACE
If Bob Col(6,8 To 29) Then BUG1
SCREWCHECK
If Bob Col(7,8 To 29) Then BUG2
Sprite Update
BUGCHECK2
BLOCKPLACE1
If Spritebob Col(4,8 To 29) Then DROID1
BLOCKPLACE
BUGCHECK1
Wait Vbl : Bob Update : Screen Swap
Loop
End Proc