INVADERINVADER!BOOT 3 0*BASIC
PAGE=&1900
*FX21
CLOSE#0:CHAIN "INVADER"
7
loaded
7:23;8202;0;0;0;
TEXT
SETUP
2
(23;8202;0;0;0;
2TUNE(2)
<02,5)"Press SPACEBAR";5,7)"to start":*FX21
F
=32
P
Z2
d23;11,0;0;0;0;
n FILL
x:*FX200,2
F%=0
H%=1 9:SHIFT:
5:832,992:WIPE$;:S%:4
F%=
T%=T%+100
BASE
A%=X%+32*(-98)-32*(-67)
A%>1024A%=1024
A%<240 A%=240
LS%=(-103):RS%=(-104)
% A%<>X% -T%>LEV% (LS% RS%)
LS%RS% SHOOT
-T%>LEV%SHIFT
BASE
" X%=A%
, H1%=30 AM%=0 D%
6@ D%::D%=0:X%=640:Y%=0:H1%=9:H2%=2:C%=0:L%=L%-1: L%=0
@LEV%=LEV%-5
J% AM%=0 T%=:-T%>100: 0
T I%=08
U
J%=014
VA%(I%,J%)=0
W:
XLEV%=40:D%=0:L%=3:S%=0
Y
^
BASE
h4,0
r
X%-48,64
|oX%-48,48:X%-16,48:X%-16,32:X%-32,32:X%-32,0:X%+32,0:X%+32,32:X%+16,32:X%+16,48:X%+48,48:X%+48,64
SHOOT
H%:H%=S%
0,7
1,1,140,2
Z%=X%+48*LS%-48*RS%
W%=Z%64-2
Z%,68
Z%,(32-H1%)*32-4
A%(C%,W%)>240 S%=S%+10*(A%(C%,W%)-240):5:832,992:WIPE$;:S%:4:Z%,(32-H1%)*32-4: 2,A%(C%,W%)-240,200,4:W%-1,7)" ";:31,0,0:AM%=AM%-1:A%(C%,W%)=32: A%(C%,0)=W% A%(C%,0)=0
0,0: Z%,Y%+68
, H%<2000 S%>=2000 3,2,200,40:L%=L%+1
SHIFT
11
2 C%=1 28,3,H1%,17,H2%,11:H1%=H1%+1:H2%=H2%+1
&
0,1,10,3
0I%=114
: A%(C%,I%)-239
DA%(C%,I%)
N
X
b11
lC%=(C% 8)+1
vT%=
EW%=A%(C%,0): W% F% W%=(W%+3)*64-32: W%X%-128 FB
FILL
I%=18
J%=114
!A%(I%,J%)=241+((I%2)=(J%2))
:
I%=18
N%=(7)*2+((I%2)=0)
A%(I%,0)=0
A%(I%,0)=N%:A%(I%,N%)=242
'C%=0:X%=640:Y%=0:H1%=9:H2%=2:AM%=56
FB
((51-LEV%)+1)-1=0
* 2,1,30,2
44,0
>W%,(32-H1%)*32-4
H W%,0
RT%=:-T%>5
\? W%>X%-64W%100
16,0,0,0
19,0,0;0;
TUNE(J)
I=1 J
DBD
A,B,C
1,1,B,C: 2,-15,B,C
$
A=0
.
8
B13,13,3,15,21,3,13,21,3,15,25,3,13,25,3,15,21,3,13,13,3,15,25,3,13,37,3,15,33,3,13,33,3,15,37,3,13,25,3,15,33,3,13,33,3,15,37,3,0,0,0,0,0,0
LSETUP
V19,15,7;0;
`+23,240,255,255,255,255,255,255,255,255
j%23,241,0,60,126,90,126,102,102,0
t!23,242,0,24,36,90,90,36,24,0
~+23,255,255,255,255,255,255,255,255,255
A%(8,14)
)LEV%=40:D%=0:L%=3:S%=0:WIPE$=5,127)
62,1, -15,-15,-15,240,240,240, 20,0,0,-20, 126,126
01,2, -2,-2,-1,10,10,50, 126,-4,-4,-4, 126,0
*FX9,0
TEXT
T^E
:
A$
A$:*FX21
A$="" A$=""
=32
A$=""
" "," Welcome to ROLLER-INVADERS, the game","where the aliens crunch down to the","planet's surface and you must destroy","them before they reach you. But be","prepared, because no matter how many"
("times you clear the screen, they always","come back, faster and more ferocious","than before."," ","Remember that only the yellow ORB","ships can fire back at you and are","therefore worth twice as much as the"
2"ordinary green aliens, which are worth","ten points. Your keys are;"," "," Z left"," < fire left gun"," X right"," > fire right gun"," "," Press SPACEBAR to continue",""
}
loaded
}*FX200,3
}
23;8202;0;0;0;:=&E00
}0,-15,3,40:1,0,120,40
}=10,10)131;157;129;136" PLEASE WAIT! "156;:*FX21
}Z=(300)
}( *TAPE
}2@I%=0P- 4:I%!&E00=I%!::?&13=?&13-(-&E00)256:=&E00:
& All the characters you see in modes","0 to 6 have been pre-defined,but you","can re-define any of them or any","undefined character with the VDU 23","command,but first you must understand"
P"how a character is built up.","If you could imagine each character as","eight rows of binary numbers,each of","which is eight bits long.For example,","a solid block would be number 255 on"
Z"top of number 255 eight times.To","illustrate this idea,here is how a","cross would be constructed"," "," 00011000 24"," 00011000 24"," 00011000 24"," 11111111 255"," 11111111 255"," 00011000 24"," 00011000 24"," 00011000 24"
d" Press SPACEBAR to continue",""," ","To use this pattern as a character","type VDU23,240,24,24,24,255,255,24,24,24and whenever you want to use your"
eR"cross just type PRINT CHR$240 or VDU240.The command is built up as follows;"
n"the 23 means get ready to redefine","character 240,the second number.The","eight numbers following that are the","numbers which specify the shape the","character will take"
o" ","If you want to,experiment with lines","1130 and 1140.These define the aliens","and perhaps you could define some","better ones so you can have your own","'custom built' invaders program"," "
x," Press SPACEBAR to continue",""
}
loaded
}
M%=1
}0,-15,3,40:1,0,120,40
}710,10)131;157;129;136"STOP THE TAPE! "156;
}Z=(600)
}(
}2
}< error
}F =17 @P}
}J:''::" at line ";:'"THAT SHOULDN'T BE THERE - PLEASE"'"LET US KNOW!"'''"DISC SYSTEM USERS, you have altered"'"the value ofPAGEto&0E00haven't"'"you?"''
}LO"TypeCHAINand press play on your"'"recorder to run the next program":
}P<:'''"ESCAPE PRESSED"''"ChainingROTATING POLYGONS"''
}U#"PressPLAYon your recorder"
}Z"G-TEXT1"
}d