Home » Archimedes archive » Acorn Computing » 1994 06 subscription disc.adf » 9406s » BeebDisk/MtrAttk

BeebDisk/MtrAttk

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn Computing » 1994 06 subscription disc.adf » 9406s
Filename: BeebDisk/MtrAttk
Read OK:
File size: 0EDC bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM Meteor Attack
   20REM by Pete Denshaw
   30REM (c) Acorn Computing
   40MODE 1
   50VDU 23,1,0;0;0;0;
   60PROCsetup
   70REPEAT
   80MODE 7
   90VDU 23,1,0;0;0;0;
  100PROCinstruct
  110MODE 1
  120VDU 23,1,0;0;0;0;
  130PROCgame
  140MODE 7
  150VDU 23,1,0;0;0;0;
  160PROCreport
  170UNTIL FALSE
  180END
  190DEF PROCinstruct
  200CLS
  210PRINT TAB(13,0);CHR$(141);"Meteor Attack"
  220PRINT TAB(13,1);CHR$(141);"Meteor Attack"
  230PRINT TAB(8,5);CHR$(131);"On a routine mission in"
  240PRINT TAB(7,6);CHR$(131);"deep space, your ship has"
  250PRINT TAB(6,7);CHR$(131);"encountered a meteor storm."
  260PRINT TAB(5,9);CHR$(131);"At first the shields appeared"
  270PRINT TAB(7,10);CHR$(131);"strong, but as the power"
  280PRINT TAB(9,11);CHR$(131);"drain continues they"
  290PRINT TAB(9,12);CHR$(131);"are starting to fail."
  300PRINT TAB(4,14);CHR$(131);"Your task is to help your ship"
  310PRINT TAB(2,15);CHR$(131);"through this storm using keys 1 to"
  320PRINT TAB(2,16);CHR$(131);"8 to destroy the incoming meteors."
  330PRINT TAB(14,18);CHR$(134);"GOOD LUCK!!"
  340PRINT TAB(10,23)"Press RETURN to play."
  350*FX 15,1
  360REPEAT UNTIL GET=13
  370ENDPROC
  380DEF PROCsetup
  390DIM ZX%(8),ZY%(8),SX%(8),SY%(8),shield%(8)
  400FOR zone%=1 TO 8
  410READ ZX%(zone%),ZY%(zone%),SX%(zone%),SY%(zone%)
  420NEXT
  430dummy%=RND(-TIME)
  440VDU 23,224,48,126,126,255,255,126,126,48
  450VDU 23,225,85,170,85,170,85,170,85,170
  460ENDPROC
  470DEF PROCgame
  480difficulty%=0
  490score%=0
  500FOR zone%=1 TO 8
  510shield%(zone%)=5
  520NEXT
  530PROCgamescreen
  540time%=TIME+10
  550REPEAT UNTIL TIME>time%
  560REPEAT
  570difficulty%=difficulty%+1
  580meteors%=0
  590flag%=TRUE
  600REPEAT
  610IF flag%=TRUE PROCcontinue
  620IF meteors%<11 PROCcontinue2
  630UNTIL meteors%=11 OR shield%(zone%)=0
  640UNTIL difficulty%=13 OR shield%(zone%)=0
  650ENDPROC
  660DEF PROCreport
  670PRINT TAB(13,0);CHR$(141);"Meteor Attack"
  680PRINT TAB(13,1);CHR$(141);"Meteor Attack"
  690PRINT TAB(2,4);CHR$(134);CHR$(136);"GAME OVER...GAME OVER...GAME OVER"
  700IF shield%(zone%)=0 PROClost ELSE PROCwon
  710temp%=score%
  720space%=9
  730REPEAT
  740temp%=temp%/10
  750space%=space%-1
  760UNTIL temp%<10
  770PRINT TAB(8,17);CHR$(141);"You scored";CHR$(134);SPC(space%);score%
  780PRINT TAB(8,18);CHR$(141);"You scored";CHR$(134);SPC(space%);score%
  790PRINT TAB(7,23)"Press RETURN to continue."
  800*FX 15,1
  810REPEAT UNTIL GET=13
  820ENDPROC
  830DEF PROClost
  840PRINT TAB(10,7);CHR$(131);"You have failed to"
  850PRINT TAB(9,8);CHR$(131);"fulfil your mission."
  860PRINT TAB(11,10);CHR$(131);"The shields have"
  870PRINT TAB(11,11);CHR$(131);"been penetrated;"
  880PRINT TAB(9,12);CHR$(131);"your ship destroyed."
  890ENDPROC
  900DEF PROCwon
  910PRINT TAB(14,8);CHR$(131);"Well done!!"
  920PRINT TAB(10,10);CHR$(131);"Your shields remain"
  930PRINT TAB(10,11);CHR$(131);"intact and the ship"
  940PRINT TAB(15,12);CHR$(131);"is safe."
  950ENDPROC
  960DEF PROCgamescreen
  970CLS
  980GCOL 0,2
  990MOVE 0,0
 1000PLOT 21,1279,1023
 1010MOVE 0,1023
 1020PLOT 21,1279,0
 1030MOVE 0,512
 1040PLOT 21,1279,512
 1050MOVE 640,0
 1060PLOT 21,640,1023
 1070GCOL 0,3
 1080MOVE 0,0
 1090PLOT 21,0,1023
 1100PLOT 21,1279,1023
 1110PLOT 21,1279,0
 1120PLOT 21,0,0
 1130FOR loop%=0 TO 120
 1140ratio=PI*loop%/60
 1150meteory%=512+136*COS(ratio)
 1160meteorx%=640+152*SIN(ratio)
 1170PLOT 69,meteorx%,meteory%
 1180NEXT
 1190FOR zone%=1 TO 8
 1200VDU 31,ZX%(zone%),ZY%(zone%),zone%+48
 1210COLOUR 2
 1220VDU 31,SX%(zone%),SY%(zone%),shield%(zone%)+48
 1230COLOUR 3
 1240NEXT
 1250ENDPROC
 1260DEF PROChit
 1270score%=score%+difficulty%*100
 1280SOUND 0,-8,60,8
 1290COLOUR 1
 1300VDU 31,meteorx%,meteory%,224
 1310COLOUR 2
 1320time%=TIME+15
 1330REPEAT UNTIL TIME>time%
 1340VDU 31,meteorx%,meteory%,32
 1350flag%=TRUE
 1360ENDPROC
 1370DEF PROCnohit
 1380VDU 31,meteorx%,meteory%,32
 1390IF ratio1/(ypos-16)<=.165 AND ratio2/(xpos-20)<=.15 ypos=ypos-ratio1:xpos=xpos-ratio2:flag%=FALSE:ENDPROC
 1400shield%(zone%)=shield%(zone%)-1
 1410COLOUR 3
 1420VDU 31,SX%(zone%),SY%(zone%),shield%(zone%)+48
 1430SOUND 0,-10,10,8
 1440COLOUR 2
 1450flag%=TRUE
 1460ENDPROC
 1470DEF PROCcontinue
 1480COLOUR 2
 1490meteors%=meteors%+1
 1500IF meteors%=11 ENDPROC
 1510zone%=RND(8)
 1520*FX 15,1
 1530xpos=ZX%(zone%)
 1540ypos=ZY%(zone%)
 1550position%=2*RND(2)
 1560IF ypos<2 OR ypos>29 xpos=xpos+3*position%-9
 1570IF xpos=1 OR xpos=38 ypos=ypos+2*position%-6
 1580ratio1=(ypos-16)/16
 1590ratio2=(xpos-20)/16
 1600ENDPROC
 1610DEF PROCcontinue2
 1620meteory%=INT(ypos)
 1630meteorx%=INT(xpos)
 1640VDU 31,meteorx%,meteory%,224
 1650time%=TIME+15-difficulty%
 1660key$=INKEY$(time%-TIME)
 1670REPEAT UNTIL TIME>time%
 1680IF key$=CHR$(zone%+48) PROChit ELSE PROCnohit
 1690ENDPROC
 1700DATA 1,10,16,14
 1710DATA 11,1,18,13
 1720DATA 28,1,21,13
 1730DATA 38,10,23,14
 1740DATA 1,21,16,17
 1750DATA 11,30,18,18
 1760DATA 28,30,21,18
 1770DATA 38,21,23,17
� Meteor Attack
� by Pete Denshaw
� (c) Acorn Computing
(� 1
2� 23,1,0;0;0;0;
<
�setup
F�
P� 7
Z� 23,1,0;0;0;0;
d
�instruct
n� 1
x� 23,1,0;0;0;0;
�	�game
�� 7
�� 23,1,0;0;0;0;
��report
�� �
��
�� �instruct
��
�#� �13,0);�(141);"Meteor Attack"
�#� �13,1);�(141);"Meteor Attack"
�,� �8,5);�(131);"On a routine mission in"
�.� �7,6);�(131);"deep space, your ship has"
�0� �6,7);�(131);"encountered a meteor storm."
2� �5,9);�(131);"At first the shields appeared"
.� �7,10);�(131);"strong, but as the power"
*� �9,11);�(131);"drain continues they"
"+� �9,12);�(131);"are starting to fail."
,4� �4,14);�(131);"Your task is to help your ship"
68� �2,15);�(131);"through this storm using keys 1 to"
@8� �2,16);�(131);"8 to destroy the incoming meteors."
J"� �14,18);�(134);"GOOD LUCK!!"
T$� �10,23)"Press RETURN to play."
^*FX 15,1
h� � �=13
r�
|� �setup
�,� ZX%(8),ZY%(8),SX%(8),SY%(8),shield%(8)
�� zone%=1 � 8
�1� ZX%(zone%),ZY%(zone%),SX%(zone%),SY%(zone%)
��
�dummy%=�(-�)
�*� 23,224,48,126,126,255,255,126,126,48
�(� 23,225,85,170,85,170,85,170,85,170
��
�� �game
�difficulty%=0
�score%=0
�� zone%=1 � 8
�shield%(zone%)=5
�
�gamescreen
time%=�+10
&� � �>time%
0�
:difficulty%=difficulty%+1
Dmeteors%=0
Nflag%=�
X�
b� flag%=� �continue
l� meteors%<11 �continue2
v$� meteors%=11 � shield%(zone%)=0
�'� difficulty%=13 � shield%(zone%)=0
��
�
� �report
�#� �13,0);�(141);"Meteor Attack"
�#� �13,1);�(141);"Meteor Attack"
�=� �2,4);�(134);�(136);"GAME OVER...GAME OVER...GAME OVER"
�#� shield%(zone%)=0 �lost � �won
�temp%=score%
�space%=9
��
�temp%=temp%/10
�space%=space%-1
�� temp%<10
8� �8,17);�(141);"You scored";�(134);�(space%);score%
8� �8,18);�(141);"You scored";�(134);�(space%);score%
'� �7,23)"Press RETURN to continue."
 *FX 15,1
*� � �=13
4�
>� �lost
H(� �10,7);�(131);"You have failed to"
R)� �9,8);�(131);"fulfil your mission."
\'� �11,10);�(131);"The shields have"
f'� �11,11);�(131);"been penetrated;"
p*� �9,12);�(131);"your ship destroyed."
z�
�
� �won
�!� �14,8);�(131);"Well done!!"
�*� �10,10);�(131);"Your shields remain"
�*� �10,11);�(131);"intact and the ship"
�� �15,12);�(131);"is safe."
��
�� �gamescreen
��
�	� 0,2
�	� 0,0
�� 21,1279,1023
�� 0,1023
�� 21,1279,0
� 0,512
� 21,1279,512
� 640,0
$� 21,640,1023
.	� 0,3
8	� 0,0
B� 21,0,1023
L� 21,1279,1023
V� 21,1279,0
`� 21,0,0
j� loop%=0 � 120
tratio=�*loop%/60
~meteory%=512+136*�(ratio)
�meteorx%=640+152*�(ratio)
�� 69,meteorx%,meteory%
��
�� zone%=1 � 8
�'� 31,ZX%(zone%),ZY%(zone%),zone%+48
�� 2
�0� 31,SX%(zone%),SY%(zone%),shield%(zone%)+48
�� 3
��
��
�
� �hit
�!score%=score%+difficulty%*100
� 0,-8,60,8

� 1
� 31,meteorx%,meteory%,224
� 2
(time%=�+15
2� � �>time%
<� 31,meteorx%,meteory%,32
Fflag%=�
P�
Z� �nohit
d� 31,meteorx%,meteory%,32
n`� ratio1/(ypos-16)<=.165 � ratio2/(xpos-20)<=.15 ypos=ypos-ratio1:xpos=xpos-ratio2:flag%=�:�
x#shield%(zone%)=shield%(zone%)-1
�� 3
�0� 31,SX%(zone%),SY%(zone%),shield%(zone%)+48
�� 0,-10,10,8
�� 2
�flag%=�
��
�� �continue
�� 2
�meteors%=meteors%+1
�� meteors%=11 �
�zone%=�(8)
�*FX 15,1
�xpos=ZX%(zone%)
ypos=ZY%(zone%)
position%=2*�(2)
.� ypos<2 � ypos>29 xpos=xpos+3*position%-9
".� xpos=1 � xpos=38 ypos=ypos+2*position%-6
,ratio1=(ypos-16)/16
6ratio2=(xpos-20)/16
@�
J� �continue2
Tmeteory%=�(ypos)
^meteorx%=�(xpos)
h� 31,meteorx%,meteory%,224
rtime%=�+15-difficulty%
|key$=�(time%-�)
�� � �>time%
�$� key$=�(zone%+48) �hit � �nohit
��
�� 1,10,16,14
�� 11,1,18,13
�� 28,1,21,13
�� 38,10,23,14
�� 1,21,16,17
�� 11,30,18,18
�� 28,30,21,18
�� 38,21,23,17
�
00000000  0d 00 0a 13 f4 20 4d 65  74 65 6f 72 20 41 74 74  |..... Meteor Att|
00000010  61 63 6b 0d 00 14 15 f4  20 62 79 20 50 65 74 65  |ack..... by Pete|
00000020  20 44 65 6e 73 68 61 77  0d 00 1e 19 f4 20 28 63  | Denshaw..... (c|
00000030  29 20 41 63 6f 72 6e 20  43 6f 6d 70 75 74 69 6e  |) Acorn Computin|
00000040  67 0d 00 28 07 eb 20 31  0d 00 32 13 ef 20 32 33  |g..(.. 1..2.. 23|
00000050  2c 31 2c 30 3b 30 3b 30  3b 30 3b 0d 00 3c 0a f2  |,1,0;0;0;0;..<..|
00000060  73 65 74 75 70 0d 00 46  05 f5 0d 00 50 07 eb 20  |setup..F....P.. |
00000070  37 0d 00 5a 13 ef 20 32  33 2c 31 2c 30 3b 30 3b  |7..Z.. 23,1,0;0;|
00000080  30 3b 30 3b 0d 00 64 0d  f2 69 6e 73 74 72 75 63  |0;0;..d..instruc|
00000090  74 0d 00 6e 07 eb 20 31  0d 00 78 13 ef 20 32 33  |t..n.. 1..x.. 23|
000000a0  2c 31 2c 30 3b 30 3b 30  3b 30 3b 0d 00 82 09 f2  |,1,0;0;0;0;.....|
000000b0  67 61 6d 65 0d 00 8c 07  eb 20 37 0d 00 96 13 ef  |game..... 7.....|
000000c0  20 32 33 2c 31 2c 30 3b  30 3b 30 3b 30 3b 0d 00  | 23,1,0;0;0;0;..|
000000d0  a0 0b f2 72 65 70 6f 72  74 0d 00 aa 07 fd 20 a3  |...report..... .|
000000e0  0d 00 b4 05 e0 0d 00 be  0f dd 20 f2 69 6e 73 74  |.......... .inst|
000000f0  72 75 63 74 0d 00 c8 05  db 0d 00 d2 23 f1 20 8a  |ruct........#. .|
00000100  31 33 2c 30 29 3b bd 28  31 34 31 29 3b 22 4d 65  |13,0);.(141);"Me|
00000110  74 65 6f 72 20 41 74 74  61 63 6b 22 0d 00 dc 23  |teor Attack"...#|
00000120  f1 20 8a 31 33 2c 31 29  3b bd 28 31 34 31 29 3b  |. .13,1);.(141);|
00000130  22 4d 65 74 65 6f 72 20  41 74 74 61 63 6b 22 0d  |"Meteor Attack".|
00000140  00 e6 2c f1 20 8a 38 2c  35 29 3b bd 28 31 33 31  |..,. .8,5);.(131|
00000150  29 3b 22 4f 6e 20 61 20  72 6f 75 74 69 6e 65 20  |);"On a routine |
00000160  6d 69 73 73 69 6f 6e 20  69 6e 22 0d 00 f0 2e f1  |mission in".....|
00000170  20 8a 37 2c 36 29 3b bd  28 31 33 31 29 3b 22 64  | .7,6);.(131);"d|
00000180  65 65 70 20 73 70 61 63  65 2c 20 79 6f 75 72 20  |eep space, your |
00000190  73 68 69 70 20 68 61 73  22 0d 00 fa 30 f1 20 8a  |ship has"...0. .|
000001a0  36 2c 37 29 3b bd 28 31  33 31 29 3b 22 65 6e 63  |6,7);.(131);"enc|
000001b0  6f 75 6e 74 65 72 65 64  20 61 20 6d 65 74 65 6f  |ountered a meteo|
000001c0  72 20 73 74 6f 72 6d 2e  22 0d 01 04 32 f1 20 8a  |r storm."...2. .|
000001d0  35 2c 39 29 3b bd 28 31  33 31 29 3b 22 41 74 20  |5,9);.(131);"At |
000001e0  66 69 72 73 74 20 74 68  65 20 73 68 69 65 6c 64  |first the shield|
000001f0  73 20 61 70 70 65 61 72  65 64 22 0d 01 0e 2e f1  |s appeared".....|
00000200  20 8a 37 2c 31 30 29 3b  bd 28 31 33 31 29 3b 22  | .7,10);.(131);"|
00000210  73 74 72 6f 6e 67 2c 20  62 75 74 20 61 73 20 74  |strong, but as t|
00000220  68 65 20 70 6f 77 65 72  22 0d 01 18 2a f1 20 8a  |he power"...*. .|
00000230  39 2c 31 31 29 3b bd 28  31 33 31 29 3b 22 64 72  |9,11);.(131);"dr|
00000240  61 69 6e 20 63 6f 6e 74  69 6e 75 65 73 20 74 68  |ain continues th|
00000250  65 79 22 0d 01 22 2b f1  20 8a 39 2c 31 32 29 3b  |ey".."+. .9,12);|
00000260  bd 28 31 33 31 29 3b 22  61 72 65 20 73 74 61 72  |.(131);"are star|
00000270  74 69 6e 67 20 74 6f 20  66 61 69 6c 2e 22 0d 01  |ting to fail."..|
00000280  2c 34 f1 20 8a 34 2c 31  34 29 3b bd 28 31 33 31  |,4. .4,14);.(131|
00000290  29 3b 22 59 6f 75 72 20  74 61 73 6b 20 69 73 20  |);"Your task is |
000002a0  74 6f 20 68 65 6c 70 20  79 6f 75 72 20 73 68 69  |to help your shi|
000002b0  70 22 0d 01 36 38 f1 20  8a 32 2c 31 35 29 3b bd  |p"..68. .2,15);.|
000002c0  28 31 33 31 29 3b 22 74  68 72 6f 75 67 68 20 74  |(131);"through t|
000002d0  68 69 73 20 73 74 6f 72  6d 20 75 73 69 6e 67 20  |his storm using |
000002e0  6b 65 79 73 20 31 20 74  6f 22 0d 01 40 38 f1 20  |keys 1 to"..@8. |
000002f0  8a 32 2c 31 36 29 3b bd  28 31 33 31 29 3b 22 38  |.2,16);.(131);"8|
00000300  20 74 6f 20 64 65 73 74  72 6f 79 20 74 68 65 20  | to destroy the |
00000310  69 6e 63 6f 6d 69 6e 67  20 6d 65 74 65 6f 72 73  |incoming meteors|
00000320  2e 22 0d 01 4a 22 f1 20  8a 31 34 2c 31 38 29 3b  |."..J". .14,18);|
00000330  bd 28 31 33 34 29 3b 22  47 4f 4f 44 20 4c 55 43  |.(134);"GOOD LUC|
00000340  4b 21 21 22 0d 01 54 24  f1 20 8a 31 30 2c 32 33  |K!!"..T$. .10,23|
00000350  29 22 50 72 65 73 73 20  52 45 54 55 52 4e 20 74  |)"Press RETURN t|
00000360  6f 20 70 6c 61 79 2e 22  0d 01 5e 0c 2a 46 58 20  |o play."..^.*FX |
00000370  31 35 2c 31 0d 01 68 0c  f5 20 fd 20 a5 3d 31 33  |15,1..h.. . .=13|
00000380  0d 01 72 05 e1 0d 01 7c  0c dd 20 f2 73 65 74 75  |..r....|.. .setu|
00000390  70 0d 01 86 2c de 20 5a  58 25 28 38 29 2c 5a 59  |p...,. ZX%(8),ZY|
000003a0  25 28 38 29 2c 53 58 25  28 38 29 2c 53 59 25 28  |%(8),SX%(8),SY%(|
000003b0  38 29 2c 73 68 69 65 6c  64 25 28 38 29 0d 01 90  |8),shield%(8)...|
000003c0  11 e3 20 7a 6f 6e 65 25  3d 31 20 b8 20 38 0d 01  |.. zone%=1 . 8..|
000003d0  9a 31 f3 20 5a 58 25 28  7a 6f 6e 65 25 29 2c 5a  |.1. ZX%(zone%),Z|
000003e0  59 25 28 7a 6f 6e 65 25  29 2c 53 58 25 28 7a 6f  |Y%(zone%),SX%(zo|
000003f0  6e 65 25 29 2c 53 59 25  28 7a 6f 6e 65 25 29 0d  |ne%),SY%(zone%).|
00000400  01 a4 05 ed 0d 01 ae 10  64 75 6d 6d 79 25 3d b3  |........dummy%=.|
00000410  28 2d 91 29 0d 01 b8 2a  ef 20 32 33 2c 32 32 34  |(-.)...*. 23,224|
00000420  2c 34 38 2c 31 32 36 2c  31 32 36 2c 32 35 35 2c  |,48,126,126,255,|
00000430  32 35 35 2c 31 32 36 2c  31 32 36 2c 34 38 0d 01  |255,126,126,48..|
00000440  c2 28 ef 20 32 33 2c 32  32 35 2c 38 35 2c 31 37  |.(. 23,225,85,17|
00000450  30 2c 38 35 2c 31 37 30  2c 38 35 2c 31 37 30 2c  |0,85,170,85,170,|
00000460  38 35 2c 31 37 30 0d 01  cc 05 e1 0d 01 d6 0b dd  |85,170..........|
00000470  20 f2 67 61 6d 65 0d 01  e0 11 64 69 66 66 69 63  | .game....diffic|
00000480  75 6c 74 79 25 3d 30 0d  01 ea 0c 73 63 6f 72 65  |ulty%=0....score|
00000490  25 3d 30 0d 01 f4 11 e3  20 7a 6f 6e 65 25 3d 31  |%=0..... zone%=1|
000004a0  20 b8 20 38 0d 01 fe 14  73 68 69 65 6c 64 25 28  | . 8....shield%(|
000004b0  7a 6f 6e 65 25 29 3d 35  0d 02 08 05 ed 0d 02 12  |zone%)=5........|
000004c0  0f f2 67 61 6d 65 73 63  72 65 65 6e 0d 02 1c 0e  |..gamescreen....|
000004d0  74 69 6d 65 25 3d 91 2b  31 30 0d 02 26 0f f5 20  |time%=.+10..&.. |
000004e0  fd 20 91 3e 74 69 6d 65  25 0d 02 30 05 f5 0d 02  |. .>time%..0....|
000004f0  3a 1d 64 69 66 66 69 63  75 6c 74 79 25 3d 64 69  |:.difficulty%=di|
00000500  66 66 69 63 75 6c 74 79  25 2b 31 0d 02 44 0e 6d  |fficulty%+1..D.m|
00000510  65 74 65 6f 72 73 25 3d  30 0d 02 4e 0b 66 6c 61  |eteors%=0..N.fla|
00000520  67 25 3d b9 0d 02 58 05  f5 0d 02 62 17 e7 20 66  |g%=...X....b.. f|
00000530  6c 61 67 25 3d b9 20 f2  63 6f 6e 74 69 6e 75 65  |lag%=. .continue|
00000540  0d 02 6c 1c e7 20 6d 65  74 65 6f 72 73 25 3c 31  |..l.. meteors%<1|
00000550  31 20 f2 63 6f 6e 74 69  6e 75 65 32 0d 02 76 24  |1 .continue2..v$|
00000560  fd 20 6d 65 74 65 6f 72  73 25 3d 31 31 20 84 20  |. meteors%=11 . |
00000570  73 68 69 65 6c 64 25 28  7a 6f 6e 65 25 29 3d 30  |shield%(zone%)=0|
00000580  0d 02 80 27 fd 20 64 69  66 66 69 63 75 6c 74 79  |...'. difficulty|
00000590  25 3d 31 33 20 84 20 73  68 69 65 6c 64 25 28 7a  |%=13 . shield%(z|
000005a0  6f 6e 65 25 29 3d 30 0d  02 8a 05 e1 0d 02 94 0d  |one%)=0.........|
000005b0  dd 20 f2 72 65 70 6f 72  74 0d 02 9e 23 f1 20 8a  |. .report...#. .|
000005c0  31 33 2c 30 29 3b bd 28  31 34 31 29 3b 22 4d 65  |13,0);.(141);"Me|
000005d0  74 65 6f 72 20 41 74 74  61 63 6b 22 0d 02 a8 23  |teor Attack"...#|
000005e0  f1 20 8a 31 33 2c 31 29  3b bd 28 31 34 31 29 3b  |. .13,1);.(141);|
000005f0  22 4d 65 74 65 6f 72 20  41 74 74 61 63 6b 22 0d  |"Meteor Attack".|
00000600  02 b2 3d f1 20 8a 32 2c  34 29 3b bd 28 31 33 34  |..=. .2,4);.(134|
00000610  29 3b bd 28 31 33 36 29  3b 22 47 41 4d 45 20 4f  |);.(136);"GAME O|
00000620  56 45 52 2e 2e 2e 47 41  4d 45 20 4f 56 45 52 2e  |VER...GAME OVER.|
00000630  2e 2e 47 41 4d 45 20 4f  56 45 52 22 0d 02 bc 23  |..GAME OVER"...#|
00000640  e7 20 73 68 69 65 6c 64  25 28 7a 6f 6e 65 25 29  |. shield%(zone%)|
00000650  3d 30 20 f2 6c 6f 73 74  20 8b 20 f2 77 6f 6e 0d  |=0 .lost . .won.|
00000660  02 c6 10 74 65 6d 70 25  3d 73 63 6f 72 65 25 0d  |...temp%=score%.|
00000670  02 d0 0c 73 70 61 63 65  25 3d 39 0d 02 da 05 f5  |...space%=9.....|
00000680  0d 02 e4 12 74 65 6d 70  25 3d 74 65 6d 70 25 2f  |....temp%=temp%/|
00000690  31 30 0d 02 ee 13 73 70  61 63 65 25 3d 73 70 61  |10....space%=spa|
000006a0  63 65 25 2d 31 0d 02 f8  0e fd 20 74 65 6d 70 25  |ce%-1..... temp%|
000006b0  3c 31 30 0d 03 02 38 f1  20 8a 38 2c 31 37 29 3b  |<10...8. .8,17);|
000006c0  bd 28 31 34 31 29 3b 22  59 6f 75 20 73 63 6f 72  |.(141);"You scor|
000006d0  65 64 22 3b bd 28 31 33  34 29 3b 89 28 73 70 61  |ed";.(134);.(spa|
000006e0  63 65 25 29 3b 73 63 6f  72 65 25 0d 03 0c 38 f1  |ce%);score%...8.|
000006f0  20 8a 38 2c 31 38 29 3b  bd 28 31 34 31 29 3b 22  | .8,18);.(141);"|
00000700  59 6f 75 20 73 63 6f 72  65 64 22 3b bd 28 31 33  |You scored";.(13|
00000710  34 29 3b 89 28 73 70 61  63 65 25 29 3b 73 63 6f  |4);.(space%);sco|
00000720  72 65 25 0d 03 16 27 f1  20 8a 37 2c 32 33 29 22  |re%...'. .7,23)"|
00000730  50 72 65 73 73 20 52 45  54 55 52 4e 20 74 6f 20  |Press RETURN to |
00000740  63 6f 6e 74 69 6e 75 65  2e 22 0d 03 20 0c 2a 46  |continue.".. .*F|
00000750  58 20 31 35 2c 31 0d 03  2a 0c f5 20 fd 20 a5 3d  |X 15,1..*.. . .=|
00000760  31 33 0d 03 34 05 e1 0d  03 3e 0b dd 20 f2 6c 6f  |13..4....>.. .lo|
00000770  73 74 0d 03 48 28 f1 20  8a 31 30 2c 37 29 3b bd  |st..H(. .10,7);.|
00000780  28 31 33 31 29 3b 22 59  6f 75 20 68 61 76 65 20  |(131);"You have |
00000790  66 61 69 6c 65 64 20 74  6f 22 0d 03 52 29 f1 20  |failed to"..R). |
000007a0  8a 39 2c 38 29 3b bd 28  31 33 31 29 3b 22 66 75  |.9,8);.(131);"fu|
000007b0  6c 66 69 6c 20 79 6f 75  72 20 6d 69 73 73 69 6f  |lfil your missio|
000007c0  6e 2e 22 0d 03 5c 27 f1  20 8a 31 31 2c 31 30 29  |n."..\'. .11,10)|
000007d0  3b bd 28 31 33 31 29 3b  22 54 68 65 20 73 68 69  |;.(131);"The shi|
000007e0  65 6c 64 73 20 68 61 76  65 22 0d 03 66 27 f1 20  |elds have"..f'. |
000007f0  8a 31 31 2c 31 31 29 3b  bd 28 31 33 31 29 3b 22  |.11,11);.(131);"|
00000800  62 65 65 6e 20 70 65 6e  65 74 72 61 74 65 64 3b  |been penetrated;|
00000810  22 0d 03 70 2a f1 20 8a  39 2c 31 32 29 3b bd 28  |"..p*. .9,12);.(|
00000820  31 33 31 29 3b 22 79 6f  75 72 20 73 68 69 70 20  |131);"your ship |
00000830  64 65 73 74 72 6f 79 65  64 2e 22 0d 03 7a 05 e1  |destroyed."..z..|
00000840  0d 03 84 0a dd 20 f2 77  6f 6e 0d 03 8e 21 f1 20  |..... .won...!. |
00000850  8a 31 34 2c 38 29 3b bd  28 31 33 31 29 3b 22 57  |.14,8);.(131);"W|
00000860  65 6c 6c 20 64 6f 6e 65  21 21 22 0d 03 98 2a f1  |ell done!!"...*.|
00000870  20 8a 31 30 2c 31 30 29  3b bd 28 31 33 31 29 3b  | .10,10);.(131);|
00000880  22 59 6f 75 72 20 73 68  69 65 6c 64 73 20 72 65  |"Your shields re|
00000890  6d 61 69 6e 22 0d 03 a2  2a f1 20 8a 31 30 2c 31  |main"...*. .10,1|
000008a0  31 29 3b bd 28 31 33 31  29 3b 22 69 6e 74 61 63  |1);.(131);"intac|
000008b0  74 20 61 6e 64 20 74 68  65 20 73 68 69 70 22 0d  |t and the ship".|
000008c0  03 ac 1f f1 20 8a 31 35  2c 31 32 29 3b bd 28 31  |.... .15,12);.(1|
000008d0  33 31 29 3b 22 69 73 20  73 61 66 65 2e 22 0d 03  |31);"is safe."..|
000008e0  b6 05 e1 0d 03 c0 11 dd  20 f2 67 61 6d 65 73 63  |........ .gamesc|
000008f0  72 65 65 6e 0d 03 ca 05  db 0d 03 d4 09 e6 20 30  |reen.......... 0|
00000900  2c 32 0d 03 de 09 ec 20  30 2c 30 0d 03 e8 12 f0  |,2..... 0,0.....|
00000910  20 32 31 2c 31 32 37 39  2c 31 30 32 33 0d 03 f2  | 21,1279,1023...|
00000920  0c ec 20 30 2c 31 30 32  33 0d 03 fc 0f f0 20 32  |.. 0,1023..... 2|
00000930  31 2c 31 32 37 39 2c 30  0d 04 06 0b ec 20 30 2c  |1,1279,0..... 0,|
00000940  35 31 32 0d 04 10 11 f0  20 32 31 2c 31 32 37 39  |512..... 21,1279|
00000950  2c 35 31 32 0d 04 1a 0b  ec 20 36 34 30 2c 30 0d  |,512..... 640,0.|
00000960  04 24 11 f0 20 32 31 2c  36 34 30 2c 31 30 32 33  |.$.. 21,640,1023|
00000970  0d 04 2e 09 e6 20 30 2c  33 0d 04 38 09 ec 20 30  |..... 0,3..8.. 0|
00000980  2c 30 0d 04 42 0f f0 20  32 31 2c 30 2c 31 30 32  |,0..B.. 21,0,102|
00000990  33 0d 04 4c 12 f0 20 32  31 2c 31 32 37 39 2c 31  |3..L.. 21,1279,1|
000009a0  30 32 33 0d 04 56 0f f0  20 32 31 2c 31 32 37 39  |023..V.. 21,1279|
000009b0  2c 30 0d 04 60 0c f0 20  32 31 2c 30 2c 30 0d 04  |,0..`.. 21,0,0..|
000009c0  6a 13 e3 20 6c 6f 6f 70  25 3d 30 20 b8 20 31 32  |j.. loop%=0 . 12|
000009d0  30 0d 04 74 14 72 61 74  69 6f 3d af 2a 6c 6f 6f  |0..t.ratio=.*loo|
000009e0  70 25 2f 36 30 0d 04 7e  1d 6d 65 74 65 6f 72 79  |p%/60..~.meteory|
000009f0  25 3d 35 31 32 2b 31 33  36 2a 9b 28 72 61 74 69  |%=512+136*.(rati|
00000a00  6f 29 0d 04 88 1d 6d 65  74 65 6f 72 78 25 3d 36  |o)....meteorx%=6|
00000a10  34 30 2b 31 35 32 2a b5  28 72 61 74 69 6f 29 0d  |40+152*.(ratio).|
00000a20  04 92 1a f0 20 36 39 2c  6d 65 74 65 6f 72 78 25  |.... 69,meteorx%|
00000a30  2c 6d 65 74 65 6f 72 79  25 0d 04 9c 05 ed 0d 04  |,meteory%.......|
00000a40  a6 11 e3 20 7a 6f 6e 65  25 3d 31 20 b8 20 38 0d  |... zone%=1 . 8.|
00000a50  04 b0 27 ef 20 33 31 2c  5a 58 25 28 7a 6f 6e 65  |..'. 31,ZX%(zone|
00000a60  25 29 2c 5a 59 25 28 7a  6f 6e 65 25 29 2c 7a 6f  |%),ZY%(zone%),zo|
00000a70  6e 65 25 2b 34 38 0d 04  ba 07 fb 20 32 0d 04 c4  |ne%+48..... 2...|
00000a80  30 ef 20 33 31 2c 53 58  25 28 7a 6f 6e 65 25 29  |0. 31,SX%(zone%)|
00000a90  2c 53 59 25 28 7a 6f 6e  65 25 29 2c 73 68 69 65  |,SY%(zone%),shie|
00000aa0  6c 64 25 28 7a 6f 6e 65  25 29 2b 34 38 0d 04 ce  |ld%(zone%)+48...|
00000ab0  07 fb 20 33 0d 04 d8 05  ed 0d 04 e2 05 e1 0d 04  |.. 3............|
00000ac0  ec 0a dd 20 f2 68 69 74  0d 04 f6 21 73 63 6f 72  |... .hit...!scor|
00000ad0  65 25 3d 73 63 6f 72 65  25 2b 64 69 66 66 69 63  |e%=score%+diffic|
00000ae0  75 6c 74 79 25 2a 31 30  30 0d 05 00 0f d4 20 30  |ulty%*100..... 0|
00000af0  2c 2d 38 2c 36 30 2c 38  0d 05 0a 07 fb 20 31 0d  |,-8,60,8..... 1.|
00000b00  05 14 1e ef 20 33 31 2c  6d 65 74 65 6f 72 78 25  |.... 31,meteorx%|
00000b10  2c 6d 65 74 65 6f 72 79  25 2c 32 32 34 0d 05 1e  |,meteory%,224...|
00000b20  07 fb 20 32 0d 05 28 0e  74 69 6d 65 25 3d 91 2b  |.. 2..(.time%=.+|
00000b30  31 35 0d 05 32 0f f5 20  fd 20 91 3e 74 69 6d 65  |15..2.. . .>time|
00000b40  25 0d 05 3c 1d ef 20 33  31 2c 6d 65 74 65 6f 72  |%..<.. 31,meteor|
00000b50  78 25 2c 6d 65 74 65 6f  72 79 25 2c 33 32 0d 05  |x%,meteory%,32..|
00000b60  46 0b 66 6c 61 67 25 3d  b9 0d 05 50 05 e1 0d 05  |F.flag%=...P....|
00000b70  5a 0c dd 20 f2 6e 6f 68  69 74 0d 05 64 1d ef 20  |Z.. .nohit..d.. |
00000b80  33 31 2c 6d 65 74 65 6f  72 78 25 2c 6d 65 74 65  |31,meteorx%,mete|
00000b90  6f 72 79 25 2c 33 32 0d  05 6e 60 e7 20 72 61 74  |ory%,32..n`. rat|
00000ba0  69 6f 31 2f 28 79 70 6f  73 2d 31 36 29 3c 3d 2e  |io1/(ypos-16)<=.|
00000bb0  31 36 35 20 80 20 72 61  74 69 6f 32 2f 28 78 70  |165 . ratio2/(xp|
00000bc0  6f 73 2d 32 30 29 3c 3d  2e 31 35 20 79 70 6f 73  |os-20)<=.15 ypos|
00000bd0  3d 79 70 6f 73 2d 72 61  74 69 6f 31 3a 78 70 6f  |=ypos-ratio1:xpo|
00000be0  73 3d 78 70 6f 73 2d 72  61 74 69 6f 32 3a 66 6c  |s=xpos-ratio2:fl|
00000bf0  61 67 25 3d a3 3a e1 0d  05 78 23 73 68 69 65 6c  |ag%=.:...x#shiel|
00000c00  64 25 28 7a 6f 6e 65 25  29 3d 73 68 69 65 6c 64  |d%(zone%)=shield|
00000c10  25 28 7a 6f 6e 65 25 29  2d 31 0d 05 82 07 fb 20  |%(zone%)-1..... |
00000c20  33 0d 05 8c 30 ef 20 33  31 2c 53 58 25 28 7a 6f  |3...0. 31,SX%(zo|
00000c30  6e 65 25 29 2c 53 59 25  28 7a 6f 6e 65 25 29 2c  |ne%),SY%(zone%),|
00000c40  73 68 69 65 6c 64 25 28  7a 6f 6e 65 25 29 2b 34  |shield%(zone%)+4|
00000c50  38 0d 05 96 10 d4 20 30  2c 2d 31 30 2c 31 30 2c  |8..... 0,-10,10,|
00000c60  38 0d 05 a0 07 fb 20 32  0d 05 aa 0b 66 6c 61 67  |8..... 2....flag|
00000c70  25 3d b9 0d 05 b4 05 e1  0d 05 be 0f dd 20 f2 63  |%=........... .c|
00000c80  6f 6e 74 69 6e 75 65 0d  05 c8 07 fb 20 32 0d 05  |ontinue..... 2..|
00000c90  d2 17 6d 65 74 65 6f 72  73 25 3d 6d 65 74 65 6f  |..meteors%=meteo|
00000ca0  72 73 25 2b 31 0d 05 dc  13 e7 20 6d 65 74 65 6f  |rs%+1..... meteo|
00000cb0  72 73 25 3d 31 31 20 e1  0d 05 e6 0e 7a 6f 6e 65  |rs%=11 .....zone|
00000cc0  25 3d b3 28 38 29 0d 05  f0 0c 2a 46 58 20 31 35  |%=.(8)....*FX 15|
00000cd0  2c 31 0d 05 fa 13 78 70  6f 73 3d 5a 58 25 28 7a  |,1....xpos=ZX%(z|
00000ce0  6f 6e 65 25 29 0d 06 04  13 79 70 6f 73 3d 5a 59  |one%)....ypos=ZY|
00000cf0  25 28 7a 6f 6e 65 25 29  0d 06 0e 14 70 6f 73 69  |%(zone%)....posi|
00000d00  74 69 6f 6e 25 3d 32 2a  b3 28 32 29 0d 06 18 2e  |tion%=2*.(2)....|
00000d10  e7 20 79 70 6f 73 3c 32  20 84 20 79 70 6f 73 3e  |. ypos<2 . ypos>|
00000d20  32 39 20 78 70 6f 73 3d  78 70 6f 73 2b 33 2a 70  |29 xpos=xpos+3*p|
00000d30  6f 73 69 74 69 6f 6e 25  2d 39 0d 06 22 2e e7 20  |osition%-9..".. |
00000d40  78 70 6f 73 3d 31 20 84  20 78 70 6f 73 3d 33 38  |xpos=1 . xpos=38|
00000d50  20 79 70 6f 73 3d 79 70  6f 73 2b 32 2a 70 6f 73  | ypos=ypos+2*pos|
00000d60  69 74 69 6f 6e 25 2d 36  0d 06 2c 17 72 61 74 69  |ition%-6..,.rati|
00000d70  6f 31 3d 28 79 70 6f 73  2d 31 36 29 2f 31 36 0d  |o1=(ypos-16)/16.|
00000d80  06 36 17 72 61 74 69 6f  32 3d 28 78 70 6f 73 2d  |.6.ratio2=(xpos-|
00000d90  32 30 29 2f 31 36 0d 06  40 05 e1 0d 06 4a 10 dd  |20)/16..@....J..|
00000da0  20 f2 63 6f 6e 74 69 6e  75 65 32 0d 06 54 14 6d  | .continue2..T.m|
00000db0  65 74 65 6f 72 79 25 3d  a8 28 79 70 6f 73 29 0d  |eteory%=.(ypos).|
00000dc0  06 5e 14 6d 65 74 65 6f  72 78 25 3d a8 28 78 70  |.^.meteorx%=.(xp|
00000dd0  6f 73 29 0d 06 68 1e ef  20 33 31 2c 6d 65 74 65  |os)..h.. 31,mete|
00000de0  6f 72 78 25 2c 6d 65 74  65 6f 72 79 25 2c 32 32  |orx%,meteory%,22|
00000df0  34 0d 06 72 1a 74 69 6d  65 25 3d 91 2b 31 35 2d  |4..r.time%=.+15-|
00000e00  64 69 66 66 69 63 75 6c  74 79 25 0d 06 7c 13 6b  |difficulty%..|.k|
00000e10  65 79 24 3d bf 28 74 69  6d 65 25 2d 91 29 0d 06  |ey$=.(time%-.)..|
00000e20  86 0f f5 20 fd 20 91 3e  74 69 6d 65 25 0d 06 90  |... . .>time%...|
00000e30  24 e7 20 6b 65 79 24 3d  bd 28 7a 6f 6e 65 25 2b  |$. key$=.(zone%+|
00000e40  34 38 29 20 f2 68 69 74  20 8b 20 f2 6e 6f 68 69  |48) .hit . .nohi|
00000e50  74 0d 06 9a 05 e1 0d 06  a4 10 dc 20 31 2c 31 30  |t.......... 1,10|
00000e60  2c 31 36 2c 31 34 0d 06  ae 10 dc 20 31 31 2c 31  |,16,14..... 11,1|
00000e70  2c 31 38 2c 31 33 0d 06  b8 10 dc 20 32 38 2c 31  |,18,13..... 28,1|
00000e80  2c 32 31 2c 31 33 0d 06  c2 11 dc 20 33 38 2c 31  |,21,13..... 38,1|
00000e90  30 2c 32 33 2c 31 34 0d  06 cc 10 dc 20 31 2c 32  |0,23,14..... 1,2|
00000ea0  31 2c 31 36 2c 31 37 0d  06 d6 11 dc 20 31 31 2c  |1,16,17..... 11,|
00000eb0  33 30 2c 31 38 2c 31 38  0d 06 e0 11 dc 20 32 38  |30,18,18..... 28|
00000ec0  2c 33 30 2c 32 31 2c 31  38 0d 06 ea 11 dc 20 33  |,30,21,18..... 3|
00000ed0  38 2c 32 31 2c 32 33 2c  31 37 0d ff              |8,21,23,17..|
00000edc