DECLARE SUB player.three.win () DECLARE SUB draw.ship.three () DECLARE SUB flare.three () DECLARE SUB flare () DECLARE SUB t.flare () DECLARE SUB gravity () DECLARE SUB player.one.win () DECLARE SUB Player.two.win () DECLARE SUB flash () DECLARE SUB menu () DECLARE SUB check.side () DECLARE SUB back.ground () DECLARE SUB draw.ship () DECLARE SUB draw.enemy () DECLARE SUB check.bullet () DECLARE SUB score () DECLARE SUB draw.bullet () DECLARE SUB check.press () DECLARE SUB errcode () DIM SHARED lastpress(3) AS INTEGER DIM SHARED shoot(10) AS INTEGER DIM SHARED bulletx(10) AS INTEGER DIM SHARED bullety(10) AS INTEGER DIM SHARED gagne(3) AS INTEGER DIM SHARED shots(3) AS INTEGER DIM SHARED miss(3) AS INTEGER DIM SHARED angle(3) AS INTEGER DIM SHARED ammo(3) AS INTEGER COMMON SHARED x, y, xx, yy, delaynumber, movenumber, shootnumber, gc, bc COMMON SHARED dir, xa, ya, grav, gravint, fc, bcc, xxa, yya ON ERROR GOTO errcode 0 dir = 1 xa = 1 ya = 1 shoot(1) = 0 shoot(2) = 0 shoot(3) = 0 bulletx(1) = x bulletx(2) = xx bullety(1) = y bullety(2) = yy gagne(1) = 0 gagne(2) = 0 gane(3) = 0 miss(1) = 0 miss(2) = 0 miss(3) = 0 angle(1) = 1 angle(2) = 1 angle(3) = 1 lastpress(1) = 8 lastpress(2) = 2 lastpress(3) = 2 ammo(1) = 1 ammo(2) = 1 ammo(3) = 1 shootnumber = 4 delaynumber = 10000 movenumber = 15 shots(1) = 15 shots(2) = 15 shots(3) = 15 x = 150 y = 190 xx = 150 yy = 20 xxa = 50 yya = 80 gc = 3 bc = 2 bcc = 43 gravint = 35 fc = 41 SCREEN 13 VIEW (1, 1)-(319, 199), 0 RANDOMIZE TIMER DO FOR delay = 1 TO delaynumber: NEXT delay draw.ship draw.enemy draw.ship.three check.bullet draw.bullet score check.press back.ground raa = INT(RND * 10) + 1 IF raa = 3 THEN flash END IF gravity check.side LOOP errcode: RESUME 0 SUB back.ground LINE (100, 150)-(200, 160), 17, BF LINE (100, 40)-(200, 50), 17, BF LINE (20, 95)-(70, 105), 17, BF LINE (230, 95)-(280, 105), 17, BF END SUB SUB check.bullet IF shoot(1) = 1 THEN IF bullety(1) < yy + 11 AND bullety(1) > yy - 11 AND bulletx(1) < xx + 4 AND bulletx(1) > xx - 4 THEN 'PRINT "boom" 'SLEEP 1 'CLS 2 shoot(1) = 0 bulletx(1) = x bullety(1) = y IF ammo(1) = 1 THEN gagne(1) = gagne(1) + 1 END IF IF ammo(1) = 2 THEN gagne(1) = gagne(1) + 2 END IF shots(2) = 15 END IF IF bullety(1) < yya + 6 AND bullety(1) > yya - 6 AND bulletx(1) < xxa + 4 AND bulletx(1) > xxa - 4 THEN 'PRINT "boom" 'SLEEP 1 'CLS 2 shoot(1) = 0 bulletx(1) = x bullety(1) = y IF ammo(1) = 1 THEN gagne(1) = gagne(1) + 1 END IF IF ammo(1) = 2 THEN gagne(1) = gagne(1) + 2 END IF shots(3) = 15 END IF END IF IF shoot(2) = 1 THEN IF bullety(2) < y + 11 AND bullety(2) > y - 11 AND bulletx(2) < x + 4 AND bulletx(2) > x - 4 THEN 'PRINT "boom" 'SLEEP 1 'CLS 2 shoot(2) = 0 bulletx(2) = xx bullety(2) = yy IF ammo(2) = 1 THEN gagne(2) = gagne(2) + 1 END IF IF ammo(2) = 2 THEN gagne(2) = gagne(2) + 2 END IF shots(1) = 15 END IF 'IF shoot(2) = 1 THEN IF bullety(2) < yya + 6 AND bullety(2) > yya - 6 AND bulletx(2) < xxa + 4 AND bulletx(2) > xxa - 4 THEN 'PRINT "boom" 'SLEEP 1 'CLS 2 shoot(2) = 0 bulletx(2) = xx bullety(2) = yy IF ammo(2) = 1 THEN gagne(2) = gagne(2) + 1 END IF IF ammo(2) = 2 THEN gagne(2) = gagne(2) + 2 END IF shots(3) = 15 END IF END IF IF shoot(3) = 1 THEN IF bullety(3) < yy + 11 AND bullety(3) > yy - 11 AND bulletx(3) < xx + 4 AND bulletx(3) > xx - 4 THEN 'PRINT "boom" 'SLEEP 1 'CLS 2 shoot(3) = 0 bulletx(3) = xxa bullety(3) = yya IF ammo(3) = 1 THEN gagne(3) = gagne(3) + 1 END IF IF ammo(3) = 2 THEN gagne(3) = gagne(3) + 2 END IF shots(2) = 15 END IF IF bullety(3) < y + 11 AND bullety(3) > y - 11 AND bulletx(3) < x + 4 AND bulletx(3) > x - 4 THEN 'PRINT "boom" 'SLEEP 1 'CLS 2 shoot(3) = 0 bulletx(3) = xxa bullety(3) = yya IF ammo(3) = 1 THEN gagne(3) = gagne(3) + 1 END IF IF ammo(3) = 2 THEN gagne(3) = gagne(3) + 2 END IF shots(1) = 15 END IF END IF IF bulletx(1) < 200 AND bulletx(1) > 100 AND bullety(1) < 163 AND bullety(1) > 147 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 200 AND bulletx(2) > 100 AND bullety(2) < 163 AND bullety(2) > 147 THEN shoot(2) = 0 bulletx(2) = xx bullety(2) = yy END IF IF bulletx(1) < 200 AND bulletx(1) > 100 AND bullety(1) < 50 AND bullety(1) > 43 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 200 AND bulletx(2) > 100 AND bullety(2) < 50 AND bullety(2) > 37 THEN shoot(2) = 0 bulletx(2) = xx bullety(2) = yy END IF IF bulletx(1) < 73 AND bulletx(1) > 17 AND bullety(1) < 108 AND bullety(1) > 92 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 73 AND bulletx(2) > 17 AND bullety(2) < 108 AND bullety(2) > 92 THEN shoot(2) = 0 bulletx(2) = xx bullety(2) = yy END IF IF bulletx(1) < 283 AND bulletx(1) > 227 AND bullety(1) < 108 AND bullety(1) > 92 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 283 AND bulletx(2) > 227 AND bullety(2) < 108 AND bullety(2) > 92 THEN shoot(2) = 0 bulletx(2) = x bullety(2) = y END IF IF bulletx(3) < 200 AND bulletx(3) > 100 AND bullety(3) < 163 AND bullety(3) > 147 THEN shoot(3) = 0 bulletx(3) = xxa bullety(3) = yya END IF IF bulletx(3) < 200 AND bulletx(3) > 100 AND bullety(3) < 50 AND bullety(3) > 37 THEN shoot(3) = 0 bulletx(3) = xxa bullety(3) = yya END IF IF bulletx(3) < 73 AND bulletx(3) > 17 AND bullety(3) < 108 AND bullety(3) > 92 THEN shoot(3) = 0 bulletx(3) = xxa bullety(3) = yya END IF IF bulletx(3) < 283 AND bulletx(3) > 227 AND bullety(3) < 108 AND bullety(3) > 92 THEN shoot(3) = 0 bulletx(3) = xxa bullety(3) = yya END IF 'LINE (230, 95)-(280, 105), 17, BF END SUB SUB check.press press$ = INKEY$ 'IF press$ = "6" THEN 'LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF 'x = x + movenumber 'END IF 'IF press$ = "4" THEN 'LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF 'x = x - movenumber 'END IF IF press$ = "2" THEN GOTO endersuber LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF IF angle(1) = 1 THEN y = y + movenumber END IF IF angle(1) = 2 THEN x = x + movenumber END IF IF angle(1) = 3 THEN y = y - movenumber END IF IF angle(1) = 4 THEN x = x - movenumber END IF END IF IF press$ = "5" OR press$ = CHR$(0) + CHR$(80) THEN IF shots(1) > 0 THEN shoot(1) = 1 bullety(1) = y bulletx(1) = x IF ammo(1) = 1 THEN shots(1) = shots(1) - 1 END IF IF ammo(1) = 2 THEN shots(1) = shots(1) - 2 END IF miss(1) = miss(1) + 1 'flare END IF 'lastpress(1) = 5 END IF IF press$ = "8" OR press$ = CHR$(0) + CHR$(72) THEN lastpress(1) = 8 LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF IF angle(1) = 1 THEN lastpress(1) = 2 y = y - movenumber END IF IF angle(1) = 2 THEN lastpress(1) = 1 x = x - movenumber y = y - movenumber END IF IF angle(1) = 3 THEN lastpress(1) = 4 x = x - movenumber END IF IF angle(1) = 4 THEN lastpress(1) = 7 x = x - movenumber y = y + movenumber END IF IF angle(1) = 5 THEN lastpress(1) = 8 y = y + movenumber END IF IF angle(1) = 6 THEN lastpress(1) = 9 x = x + movenumber y = y + movenumber END IF IF angle(1) = 7 THEN lastpress(1) = 6 x = x + movenumber END IF IF angle(1) = 8 THEN lastpress(1) = 3 x = x + movenumber y = y - movenumber END IF flare END IF IF press$ = "0" THEN IF ammo(1) = 1 THEN ammo(1) = 2 z = 1 END IF IF z <> 1 THEN IF ammo(1) = 2 THEN ammo(1) = 1 END IF END IF END IF z = 0 IF press$ = "C" OR press$ = "c" THEN IF ammo(2) = 1 THEN ammo(2) = 2 zz = 1 END IF IF zz <> 1 THEN IF ammo(2) = 2 THEN ammo(2) = 1 END IF END IF END IF zz = 0 skip: IF press$ = "4" OR press$ = CHR$(0) + CHR$(75) THEN 'lastpress(1) = 4 LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF angle(1) = angle(1) + 1 IF angle(1) > 8 THEN angle(1) = 1 END IF IF press$ = "6" OR press$ = CHR$(0) + CHR$(77) THEN 'lastpress(1) = 6 LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF angle(1) = angle(1) - 1 IF angle(1) < 1 THEN angle(1) = 8 END IF IF press$ = CHR$(27) THEN END 'FOR delay = 1 TO delaynumber: NEXT delay 'press$ = INKEY$ ' ' ' ' green ship ' ' ' IF press$ = "a" OR press$ = "A" THEN LINE (xx - 12, yy + 15)-(xx + 12, yy - 12), 0, BF angle(2) = angle(2) - 1 IF angle(2) < 1 THEN angle(2) = 8 'xx = xx + movenumber END IF IF press$ = "d" OR press$ = "D" THEN LINE (xx - 12, yy + 15)-(xx + 12, yy - 12), 0, BF 'xx = xx - movenumber angle(2) = angle(2) + 1 IF angle(2) < 1 THEN angle(2) = 8 IF angle(2) > 8 THEN angle(2) = 1 END IF 'IF press$ = "w" OR press$ = "W" THEN 'LINE (xx - 10, yy + 15)-(xx + 10, yy - 10), 0, BF 'yy = yy + movenumber 'shoot(2) = 1 'bullety(2) = yy 'bulletx(2) = xx 'END IF IF press$ = "w" OR press$ = "W" THEN LINE (xx - 15, yy - 15)-(xx + 15, yy + 15), 0, BF IF angle(2) = 1 THEN lastpress(2) = 2 yy = yy + movenumber END IF IF angle(2) = 8 THEN lastpress(2) = 3 xx = xx + movenumber yy = yy + movenumber END IF IF angle(2) = 3 THEN lastpress(2) = 4 xx = xx - movenumber END IF IF angle(2) = 4 THEN lastpress(2) = 7 xx = xx - movenumber yy = yy - movenumber END IF IF angle(2) = 6 THEN lastpress(2) = 9 xx = xx + movenumber yy = yy - movenumber END IF IF angle(2) = 5 THEN lastpress(2) = 9 yy = yy - movenumber END IF IF angle(2) = 7 THEN lastpress(2) = 6 xx = xx + movenumber END IF IF angle(2) = 2 THEN lastpress(2) = 1 xx = xx - movenumber yy = yy + movenumber END IF t.flare END IF 'GOTO endersuber IF press$ = "x" OR press$ = "X" THEN GOTO endersuber LINE (xx - 10, yy + 15)-(xx + 10, yy - 10), 0, BF IF angle(2) = 1 THEN yy = yy - movenumber END IF IF angle(2) = 2 THEN xx = xx + movenumber END IF IF angle(2) = 3 THEN yy = yy + movenumber END IF IF angle(2) = 4 THEN xx = xx - movenumber END IF END IF IF press$ = "s" OR press$ = "S" THEN IF shots(2) > 0 THEN shoot(2) = 1 bullety(2) = yy bulletx(2) = xx miss(2) = miss(2) + 1 IF ammo(2) = 1 THEN shots(2) = shots(2) - 1 END IF IF ammo(2) = 2 THEN shots(2) = shots(2) - 2 END IF END IF END IF 'END IF 'IF press$ = "0" THEN 'IF ammo(1) = 1 THEN 'ammo(1) = 2 'END IF 'END IF IF press$ = CHR$(13) THEN menu IF press$ = CHR$(27) THEN END FOR delay = 1 TO delaynumber: NEXT delay IF press$ = "g" OR press$ = "G" THEN LINE (xxa - 12, yya + 15)-(xxa + 12, yya - 12), 0, BF angle(3) = angle(3) - 1 IF angle(3) < 1 THEN angle(3) = 8 'xx = xx + movenumber END IF IF press$ = "j" OR press$ = "J" THEN LINE (xxa - 12, yya + 15)-(xxa + 12, yya - 12), 0, BF 'xx = xx - movenumber angle(3) = angle(3) + 1 IF angle(3) < 1 THEN angle(3) = 8 IF angle(3) > 8 THEN angle(3) = 1 END IF 'IF press$ = "w" OR press$ = "W" THEN 'LINE (xx - 10, yy + 15)-(xx + 10, yy - 10), 0, BF 'yy = yy + movenumber 'shoot(2) = 1 'bullety(2) = yy 'bulletx(2) = xx 'END IF IF press$ = "y" OR press$ = "Y" THEN LINE (xxa - 15, yya - 15)-(xxa + 15, yya + 15), 0, BF IF angle(3) = 1 THEN lastpress(3) = 2 yya = yya + movenumber END IF IF angle(3) = 8 THEN lastpress(3) = 3 xxa = xxa + movenumber yya = yya + movenumber END IF IF angle(3) = 3 THEN lastpress(3) = 4 xxa = xxa - movenumber END IF IF angle(3) = 4 THEN lastpress(3) = 7 xxa = xxa - movenumber yya = yya - movenumber END IF IF angle(3) = 6 THEN lastpress(3) = 8 xxa = xxa + movenumber yya = yya - movenumber END IF IF angle(3) = 5 THEN lastpress(3) = 9 yya = yya - movenumber END IF IF angle(3) = 7 THEN lastpress(3) = 6 xxa = xxa + movenumber END IF IF angle(3) = 2 THEN lastpress(3) = 1 xxa = xxa - movenumber yya = yya + movenumber END IF flare.three END IF 'END IF IF press$ = "h" OR press$ = "H" THEN IF shots(3) > 0 THEN shoot(3) = 1 bullety(3) = yya bulletx(3) = xxa miss(3) = miss(3) + 1 IF ammo(3) = 1 THEN shots(3) = shots(3) - 1 END IF IF ammo(3) = 2 THEN shots(3) = shots(3) - 2 END IF END IF END IF 'END IF 'IF press$ = "0" THEN 'IF ammo(1) = 1 THEN 'ammo(1) = 2 'END IF 'END IF IF press$ = "M" OR press$ = "m" THEN IF ammo(3) = 1 THEN ammo(3) = 2 zzz = 1 END IF IF zzz <> 1 THEN IF ammo(3) = 2 THEN ammo(3) = 1 END IF END IF END IF zzz = 0 IF press$ = CHR$(13) THEN menu IF press$ = CHR$(27) THEN END FOR delay = 1 TO delaynumber: NEXT delay endersuber: END SUB SUB check.ship LINE (1, 1)-(5, 3), 0, BF IF x < 205 AND x > 95 AND y < 161 AND y > 145 THEN 'shoot(1) = 0 'bulletx(1) = x 'bullety(1) = y 'gagne(2) = gagne(2) + 1 'PRINT "boom" x = 150 y = 190 END IF IF bulletx(2) < 200 AND bulletx(2) > 100 AND bullety(2) < 163 AND bullety(2) > 147 THEN shoot(2) = 0 bulletx(2) = xx bullety(2) = yy END IF IF bulletx(1) < 200 AND bulletx(1) > 100 AND bullety(1) < 53 AND bullety(1) > 37 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 200 AND bulletx(2) > 100 AND bullety(2) < 53 AND bullety(2) > 37 THEN shoot(2) = 0 bulletx(2) = xx bullety(2) = yy END IF IF bulletx(1) < 73 AND bulletx(1) > 17 AND bullety(1) < 108 AND bullety(1) > 92 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 73 AND bulletx(2) > 17 AND bullety(2) < 108 AND bullety(2) > 92 THEN shoot(2) = 0 bulletx(2) = xx bullety(2) = yy END IF IF bulletx(1) < 283 AND bulletx(1) > 227 AND bullety(1) < 108 AND bullety(1) > 92 THEN shoot(1) = 0 bulletx(1) = x bullety(1) = y END IF IF bulletx(2) < 283 AND bulletx(2) > 227 AND bullety(2) < 108 AND bullety(2) > 92 THEN shoot(2) = 0 bulletx(2) = x bullety(2) = y END IF END SUB SUB check.side LINE (1, 1)-(5, 3), 0, BF IF x < 1 THEN 'gagne(2) = gagne(2) + 1 'shots(1) = 15 x = 150 y = 190 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF x > 319 THEN 'gagne(2) = gagne(2) + 1 'shots(1) = 15 x = 150 y = 190 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF y < 1 THEN 'gagne(2) = gagne(2) + 1 'shots(1) = 15 x = 150 y = 190 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF y > 199 THEN 'gagne(2) = gagne(2) + 1 'shots(1) = 15 x = 150 y = 190 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF xx < 1 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xx = 150 yy = 20 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF xx > 319 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xx = 150 yy = 20 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF yy < 1 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xx = 150 yy = 20 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF yy > 199 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xx = 150 yy = 20 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF xxa < 1 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xxa = 50 yya = 80 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF xxa > 319 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xxa = 50 yya = 80 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF yya < 1 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xxa = 50 yya = 80 'PRINT "boom" 'SLEEP 1 CLS 2 END IF IF yya > 199 THEN 'gagne(1) = gagne(1) + 1 'shots(2) = 15 xxa = 50 yya = 80 'PRINT "boom" 'SLEEP 1 CLS 2 END IF END SUB SUB draw.bullet IF shoot(1) = 1 THEN IF ammo(1) = 1 THEN IF angle(1) = 1 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) - shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 2 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) - shootnumber bulletx(1) = bulletx(1) - shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 3 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bulletx(1) = bulletx(1) - shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 4 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) + shootnumber bulletx(1) = bulletx(1) - shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 5 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) + shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 6 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) + shootnumber bulletx(1) = bulletx(1) + shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 7 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bulletx(1) = bulletx(1) + shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF IF angle(1) = 8 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) - shootnumber bulletx(1) = bulletx(1) + shootnumber CIRCLE (bulletx(1), bullety(1)), 1, 4 PAINT (bulletx(1), bullety(1)), 4, 4 END IF END IF IF ammo(1) = 2 THEN IF angle(1) = 1 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) - shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 2 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) - shootnumber / 3 bulletx(1) = bulletx(1) - shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 3 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bulletx(1) = bulletx(1) - shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 4 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) + shootnumber / 3 bulletx(1) = bulletx(1) - shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 5 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) + shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 6 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) + shootnumber / 3 bulletx(1) = bulletx(1) + shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 7 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bulletx(1) = bulletx(1) + shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF IF angle(1) = 8 THEN CIRCLE (bulletx(1), bullety(1)), 10, 0 PAINT (bulletx(1), bullety(1)), 0, 0 bullety(1) = bullety(1) - shootnumber / 3 bulletx(1) = bulletx(1) + shootnumber / 3 CIRCLE (bulletx(1), bullety(1)), 2, 14 PAINT (bulletx(1), bullety(1)), 14, 14 END IF END IF END IF IF shoot(2) = 1 THEN IF ammo(2) = 1 THEN IF angle(2) = 1 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) + shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 2 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) + shootnumber bulletx(2) = bulletx(2) - shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 3 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bulletx(2) = bulletx(2) - shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 4 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) - shootnumber bulletx(2) = bulletx(2) - shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 5 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) - shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 6 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) - shootnumber bulletx(2) = bulletx(2) + shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 7 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bulletx(2) = bulletx(2) + shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF IF angle(2) = 8 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) + shootnumber bulletx(2) = bulletx(2) + shootnumber CIRCLE (bulletx(2), bullety(2)), 1, 4 PAINT (bulletx(2), bullety(2)), 4, 4 END IF END IF IF ammo(2) = 2 THEN IF angle(2) = 1 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) + shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 2 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) + shootnumber / 3 bulletx(2) = bulletx(2) - shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 3 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bulletx(2) = bulletx(2) - shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 4 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) - shootnumber / 3 bulletx(2) = bulletx(2) - shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 5 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) - shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 6 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) - shootnumber / 3 bulletx(2) = bulletx(2) + shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 7 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bulletx(2) = bulletx(2) + shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF IF angle(2) = 8 THEN CIRCLE (bulletx(2), bullety(2)), 10, 0 PAINT (bulletx(2), bullety(2)), 0, 0 bullety(2) = bullety(2) + shootnumber / 3 bulletx(2) = bulletx(2) + shootnumber / 3 CIRCLE (bulletx(2), bullety(2)), 2, 14 PAINT (bulletx(2), bullety(2)), 14, 14 END IF END IF END IF IF shoot(3) = 1 THEN IF ammo(3) = 1 THEN IF angle(3) = 1 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) + shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 2 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) + shootnumber bulletx(3) = bulletx(3) - shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 3 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bulletx(3) = bulletx(3) - shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 4 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) - shootnumber bulletx(3) = bulletx(3) - shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 5 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) - shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 6 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) - shootnumber bulletx(3) = bulletx(3) + shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 7 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bulletx(3) = bulletx(3) + shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF IF angle(3) = 8 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) + shootnumber bulletx(3) = bulletx(3) + shootnumber CIRCLE (bulletx(3), bullety(3)), 1, 4 PAINT (bulletx(3), bullety(3)), 4, 4 END IF END IF IF ammo(3) = 2 THEN IF angle(3) = 1 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) + shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 2 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) + shootnumber / 3 bulletx(3) = bulletx(3) - shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 3 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bulletx(3) = bulletx(3) - shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 4 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) - shootnumber / 3 bulletx(3) = bulletx(3) - shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 5 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) - shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 6 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) - shootnumber / 3 bulletx(3) = bulletx(3) + shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 7 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bulletx(3) = bulletx(3) + shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF IF angle(3) = 8 THEN CIRCLE (bulletx(3), bullety(3)), 10, 0 PAINT (bulletx(3), bullety(3)), 0, 0 bullety(3) = bullety(3) + shootnumber / 3 bulletx(3) = bulletx(3) + shootnumber / 3 CIRCLE (bulletx(3), bullety(3)), 2, 14 PAINT (bulletx(3), bullety(3)), 14, 14 END IF END IF END IF GOTO enddrawbullet enddrawbullet: END SUB SUB draw.enemy 'LINE (xx - 12, yy - 15)-(xx + 12, yy + 11), 0, BF 'LINE (xx - 4, yy)-(xx + 4, yy), 2 'LINE (xx, yy)-(xx, yy + 8), 2 IF angle(2) = 1 THEN LINE (xx - 4, yy)-(xx + 4, yy), bc LINE (xx - 5, yy)-(xx, yy + 12), bc LINE (xx + 5, yy)-(xx, yy + 12), bc END IF IF angle(2) = 8 THEN LINE (xx - 4, yy + 4)-(xx + 4, yy - 4), bc LINE (xx - 4, yy + 4)-(xx + 8, yy + 8), bc LINE (xx + 4, yy - 4)-(xx + 8, yy + 8), bc END IF IF angle(2) = 3 THEN LINE (xx, yy - 4)-(xx, yy + 4), bc LINE (xx, yy - 5)-(xx - 12, yy), bc LINE (xx, yy + 5)-(xx - 12, yy), bc END IF IF angle(2) = 6 THEN LINE (xx - 4, yy - 4)-(xx + 4, yy + 4), bc LINE (xx - 4, yy - 4)-(xx + 8, yy - 8), bc LINE (xx + 4, yy + 4)-(xx + 8, yy - 8), bc END IF IF angle(2) = 5 THEN LINE (xx - 4, yy)-(xx + 4, yy), bc LINE (xx - 5, yy)-(xx, yy - 12), bc LINE (xx + 5, yy)-(xx, yy - 12), bc END IF IF angle(2) = 4 THEN LINE (xx - 4, yy + 4)-(xx + 4, yy - 4), bc LINE (xx - 4, yy + 4)-(xx - 8, yy - 8), bc LINE (xx + 4, yy - 4)-(xx - 8, yy - 8), bc END IF IF angle(2) = 7 THEN LINE (xx, yy - 4)-(xx, yy + 4), bc LINE (xx, yy - 5)-(xx + 12, yy), bc LINE (xx, yy + 5)-(xx + 12, yy), bc END IF IF angle(2) = 2 THEN LINE (xx - 4, yy - 4)-(xx + 4, yy + 4), bc LINE (xx - 4, yy - 4)-(xx - 8, yy + 8), bc LINE (xx + 4, yy + 4)-(xx - 8, yy + 8), bc END IF END SUB SUB draw.ship IF angle(1) = 1 THEN LINE (x - 5, y)-(x + 5, y), gc LINE (x, y)-(x, y - 10), gc END IF IF angle(1) = 2 THEN LINE (x - 4, y + 4)-(x + 4, y - 4), gc LINE (x, y)-(x - 8, y - 8), gc END IF IF angle(1) = 3 THEN LINE (x, y + 5)-(x, y - 5), gc LINE (x, y)-(x - 10, y), gc END IF IF angle(1) = 4 THEN LINE (x - 4, y - 4)-(x + 4, y + 4), gc LINE (x, y)-(x - 8, y + 8), gc END IF IF angle(1) = 5 THEN LINE (x - 5, y)-(x + 5, y), gc LINE (x, y)-(x, y + 10), gc END IF IF angle(1) = 6 THEN LINE (x - 4, y + 4)-(x + 4, y - 4), gc LINE (x, y)-(x + 8, y + 8), gc END IF IF angle(1) = 7 THEN LINE (x, y + 5)-(x, y - 5), gc LINE (x, y)-(x + 10, y), gc END IF IF angle(1) = 8 THEN LINE (x - 4, y - 4)-(x + 4, y + 4), gc LINE (x, y)-(x + 8, y - 8), gc END IF END SUB SUB draw.ship.three IF angle(3) = 1 THEN LINE (xxa - 4, yya)-(xxa + 4, yya), bcc LINE (xxa - 5, yya)-(xxa, yya + 5), bcc LINE (xxa + 5, yya)-(xxa, yya + 5), bcc END IF IF angle(3) = 8 THEN LINE (xxa - 4, yya + 4)-(xxa + 4, yya - 4), bcc LINE (xxa - 4, yya + 4)-(xxa + 4, yya + 4), bcc LINE (xxa + 4, yya - 4)-(xxa + 4, yya + 4), bcc END IF IF angle(3) = 3 THEN LINE (xxa, yya - 4)-(xxa, yya + 4), bcc LINE (xxa, yya - 5)-(xxa - 5, yya), bcc LINE (xxa, yya + 5)-(xxa - 5, yya), bcc END IF IF angle(3) = 6 THEN LINE (xxa - 4, yya - 4)-(xxa + 4, yya + 4), bcc LINE (xxa - 4, yya - 4)-(xxa + 4, yya - 4), bcc LINE (xxa + 4, yya + 4)-(xxa + 4, yya - 4), bcc END IF IF angle(3) = 5 THEN LINE (xxa - 4, yya)-(xxa + 4, yya), bcc LINE (xxa - 5, yya)-(xxa, yya - 5), bcc LINE (xxa + 5, yya)-(xxa, yya - 5), bcc END IF IF angle(3) = 4 THEN LINE (xxa - 4, yya + 4)-(xxa + 4, yya - 4), bcc LINE (xxa - 4, yya + 4)-(xxa - 4, yya - 4), bcc LINE (xxa + 4, yya - 4)-(xxa - 4, yya - 4), bcc END IF IF angle(3) = 7 THEN LINE (xxa, yya - 4)-(xxa, yya + 4), bcc LINE (xxa, yya - 5)-(xxa + 5, yya), bcc LINE (xxa, yya + 5)-(xxa + 5, yya), bcc END IF IF angle(3) = 2 THEN LINE (xxa - 4, yya - 4)-(xxa + 4, yya + 4), bcc LINE (xxa - 4, yya - 4)-(xxa - 4, yya + 4), bcc LINE (xxa + 4, yya + 4)-(xxa - 4, yya + 4), bcc END IF END SUB SUB errcode END SUB SUB flare IF angle(1) = 1 THEN LINE (x - 5, y)-(x + 5, y), gc LINE (x, y)-(x, y - 10), gc LINE (x, y)-(x, y + 3), fc END IF IF angle(1) = 2 THEN LINE (x - 4, y + 4)-(x + 4, y - 4), gc LINE (x, y)-(x - 8, y - 8), gc LINE (x, y)-(x + 2, y + 2), fc END IF IF angle(1) = 3 THEN LINE (x, y + 5)-(x, y - 5), gc LINE (x, y)-(x - 10, y), gc LINE (x, y)-(x + 3, y), fc END IF IF angle(1) = 4 THEN LINE (x - 4, y - 4)-(x + 4, y + 4), gc LINE (x, y)-(x - 8, y + 8), gc LINE (x, y)-(x + 2, y - 2), fc END IF IF angle(1) = 5 THEN LINE (x - 5, y)-(x + 5, y), gc LINE (x, y)-(x, y + 10), gc LINE (x, y)-(x, y - 3), fc END IF IF angle(1) = 6 THEN LINE (x - 4, y + 4)-(x + 4, y - 4), gc LINE (x, y)-(x + 8, y + 8), gc LINE (x, y)-(x - 2, y - 2), fc END IF IF angle(1) = 7 THEN LINE (x, y + 5)-(x, y - 5), gc LINE (x, y)-(x + 10, y), gc LINE (x, y)-(x - 3, y), fc END IF IF angle(1) = 8 THEN LINE (x - 4, y - 4)-(x + 4, y + 4), gc LINE (x, y)-(x + 8, y - 8), gc LINE (x, y)-(x - 2, y + 2), fc END IF FOR delay = 1 TO delaynumber * 10: NEXT delay END SUB SUB flare.three IF angle(3) = 1 THEN LINE (xxa - 5, yya)-(xxa + 5, yya), bcc LINE (xxa - 5, yya)-(xxa, yya + 5), bcc LINE (xxa + 5, yya)-(xxa, yya + 5), bcc LINE (xxa, yya)-(xxa, yya - 3), fc END IF IF angle(3) = 2 THEN LINE (xxa - 4, yya - 4)-(xxa + 4, yya + 4), bcc LINE (xxa - 4, yya - 4)-(xxa - 4, yya + 4), bcc LINE (xxa + 4, yya + 4)-(xxa - 4, yya + 4), bcc LINE (xxa, yya)-(xxa + 2, yya - 2), fc END IF IF angle(3) = 3 THEN LINE (xxa, yya - 5)-(xxa, yya + 5), bcc LINE (xxa, yya - 5)-(xxa - 5, yya), bcc LINE (xxa, yya + 5)-(xxa - 5, yya), bcc LINE (xxa, yya)-(xxa + 3, yya), fc END IF IF angle(3) = 4 THEN LINE (xxa - 4, yya + 4)-(xxa + 4, yya - 4), bcc LINE (xxa - 4, yya + 4)-(xxa - 4, yya - 4), bcc LINE (xxa + 4, yya - 4)-(xxa - 4, yya - 4), bcc LINE (xxa, yya)-(xxa + 2, yya + 2), fc END IF IF angle(3) = 5 THEN LINE (xxa - 5, yya)-(xxa + 5, yya), bcc LINE (xxa - 5, yya)-(xxa, yya - 5), bcc LINE (xxa + 5, yya)-(xxa, yya - 5), bcc LINE (xxa, yya)-(xxa, yya + 3), fc END IF IF angle(3) = 6 THEN LINE (xxa - 4, yya - 4)-(xxa + 4, yya + 4), bcc LINE (xxa - 4, yya - 4)-(xxa + 4, yya - 4), bcc LINE (xxa + 4, yya + 4)-(xxa + 4, yya - 4), bcc LINE (xxa, yya)-(xxa - 2, yya + 2), fc END IF IF angle(3) = 7 THEN LINE (xxa, yya - 5)-(xxa, yya + 5), bcc LINE (xxa, yya - 5)-(xxa + 5, yya), bcc LINE (xxa, yya + 5)-(xxa + 5, yya), bcc LINE (xxa, yya)-(xxa - 3, yya), fc END IF IF angle(3) = 8 THEN LINE (xxa - 4, yya + 4)-(xxa + 4, yya - 4), bcc LINE (xxa - 4, yya + 4)-(xxa + 4, yya + 4), bcc LINE (xxa + 4, yya - 4)-(xxa + 4, yya + 4), bcc LINE (xxa, yya)-(xxa - 2, yya - 2), fc END IF END SUB SUB flash press$ = INKEY$ IF dir = 1 THEN press$ = INKEY$ xa = xa + 3 'movenumber / 2 - 1 'LINE (x, y)-(x + 4, y), 14 LINE (0, 0)-(316, 196), 0, B LINE (0, 0)-(317, 197), 0, B LINE (0, 0)-(318, 198), 0, B LINE (1, 1)-(315, 195), 14, B 'LINE (1, 1)-(1, 199), 14 'LINE (1, 190)-(315, 190), 14 'LINE (315, 195)-(315, 1), 14 PSET (xa, ya), 44 PSET (xa + 1, ya), 44 PSET (xa + 2, ya), 44 PSET (xa + 2, ya), 45 PSET (xa + 3, ya), 45 PSET (xa + 4, ya), 45 PSET (xa + 5, ya), 46 PSET (xa + 6, ya), 46 PSET (xa + 7, ya), 46 PSET (xa + 8, ya), 47 PSET (xa + 9, ya), 47 PSET (xa + 10, ya), 47 PSET (xa + 11, ya), 48 PSET (xa + 12, ya), 48 PSET (xa + 13, ya), 48 PSET (xa + 14, ya), 49 PSET (xa + 15, ya), 49 PSET (xa + 16, ya), 49 IF xa > 299 THEN xa = 315 ya = 1 dir = 2 END IF IF press$ = CHR$(27) THEN END FOR delay = 1 TO delaynumber / 4: NEXT delay END IF IF dir = 2 THEN ya = ya + 3 'movenumber / 2 - 1 LINE (0, 0)-(316, 196), 0, B LINE (0, 0)-(317, 197), 0, B LINE (0, 0)-(318, 198), 0, B LINE (1, 1)-(315, 195), 14, B PSET (xa, ya), 44 PSET (xa, ya + 1), 44 PSET (xa, ya + 2), 44 PSET (xa, ya + 2), 45 PSET (xa, ya + 3), 45 PSET (xa, ya + 4), 45 PSET (xa, ya + 5), 46 PSET (xa, ya + 6), 46 PSET (xa, ya + 7), 46 PSET (xa, ya + 8), 47 PSET (xa, ya + 9), 47 PSET (xa, ya + 10), 47 PSET (xa, ya + 11), 48 PSET (xa, ya + 12), 48 PSET (xa, ya + 13), 48 PSET (xa, ya + 14), 49 PSET (xa, ya + 15), 49 PSET (xa, ya + 16), 49 IF ya > 180 THEN xa = 299 ya = 195 dir = 3 END IF IF press$ = CHR$(27) THEN END FOR delay = 1 TO delaynumber / 4: NEXT delay END IF IF dir = 3 THEN press$ = INKEY$ xa = xa - 2 ' movenumber / 2 - 1 'LINE (x, y)-(x + 4, y), 14 LINE (0, 0)-(316, 196), 0, B LINE (0, 0)-(317, 197), 0, B LINE (0, 0)-(318, 198), 0, B LINE (1, 1)-(315, 195), 14, B 'LINE (1, 1)-(1, 199), 14 'LINE (1, 190)-(315, 190), 14 'LINE (315, 195)-(315, 1), 14 PSET (xa, ya), 49 PSET (xa + 1, ya), 49 PSET (xa + 2, ya), 49 PSET (xa + 2, ya), 48 PSET (xa + 3, ya), 48 PSET (xa + 4, ya), 48 PSET (xa + 5, ya), 47 PSET (xa + 6, ya), 47 PSET (xa + 7, ya), 47 PSET (xa + 8, ya), 46 PSET (xa + 9, ya), 46 PSET (xa + 10, ya), 46 PSET (xa + 11, ya), 45 PSET (xa + 12, ya), 45 PSET (xa + 13, ya), 45 PSET (xa + 14, ya), 44 PSET (xa + 15, ya), 44 PSET (xa + 16, ya), 44 IF xa < 16 THEN xa = 1 ya = 180 dir = 4 END IF IF press$ = CHR$(27) THEN END FOR delay = 1 TO delaynumber / 4: NEXT delay END IF IF dir = 4 THEN ya = ya - 2 'movenumber / 2 - 1 LINE (0, 0)-(316, 196), 0, B LINE (0, 0)-(317, 197), 0, B LINE (0, 0)-(318, 198), 0, B LINE (1, 1)-(315, 195), 14, B PSET (xa, ya), 49 PSET (xa, ya + 1), 49 PSET (xa, ya + 2), 49 PSET (xa, ya + 2), 48 PSET (xa, ya + 3), 48 PSET (xa, ya + 4), 48 PSET (xa, ya + 5), 47 PSET (xa, ya + 6), 47 PSET (xa, ya + 7), 47 PSET (xa, ya + 8), 46 PSET (xa, ya + 9), 46 PSET (xa, ya + 10), 46 PSET (xa, ya + 11), 45 PSET (xa, ya + 12), 45 PSET (xa, ya + 13), 45 PSET (xa, ya + 14), 44 PSET (xa, ya + 15), 44 PSET (xa, ya + 16), 44 IF ya < 1 THEN xa = 1 ya = 1 dir = 1 END IF IF press$ = CHR$(27) THEN END FOR delay = 1 TO delaynumber / 4: NEXT delay END IF END SUB SUB gravity grav = INT(RND * gravint) IF grav = 1 THEN LINE (xx - 12, yy - 15)-(xx + 12, yy + 12), 0, BF LINE (x - 10, y - 15)-(x + 10, y + 10), 0, BF LINE (xxa - 10, yya - 10)-(xxa + 10, yya + 6), 0, BF 'y = y + 1 'yy = yy + 1 IF lastpress(1) = 8 THEN y = y + 3 END IF IF lastpress(1) = 7 THEN y = y + 3 x = x - 1 END IF IF lastpress(1) = 4 THEN y = y + 1 x = x - 2 END IF IF lastpress(1) = 1 THEN y = y + 1 x = x - 1 END IF IF lastpress(1) = 2 THEN y = y + 1 END IF IF lastpress(1) = 3 THEN y = y + 1 x = x + 1 END IF IF lastpress(1) = 6 THEN y = y + 1 x = x + 2 END IF IF lastpress(1) = 9 THEN y = y + 3 x = x + 1 END IF IF lastpress(2) = 2 THEN yy = yy + 3 END IF IF lastpress(2) = 1 THEN yy = yy + 3 xx = xx - 1 END IF IF lastpress(2) = 4 THEN yy = yy + 1 xx = xx - 2 END IF IF lastpress(2) = 7 THEN yy = yy + 1 xx = xx - 1 END IF 'IF lastpress(2) = 8 THEN 'yy = yy + 1 'END IF IF lastpress(2) = 3 THEN yy = yy + 1 xx = xx + 1 END IF IF lastpress(2) = 9 THEN yy = yy + 1 'xx = xx + 2 END IF IF lastpress(2) = 6 THEN yy = yy + 3 END IF IF lastpress(3) = 2 THEN yya = yya + 3 END IF IF lastpress(3) = 1 THEN yya = yya + 3 xxa = xxa - 1 END IF IF lastpress(3) = 4 THEN yya = yya + 1 xxa = xxa - 2 END IF IF lastpress(3) = 7 THEN yya = yya + 1 xxa = xxa - 1 END IF IF lastpress(3) = 9 THEN yya = yya + 1 END IF IF lastpress(3) = 3 THEN yya = yya + 1 xxa = xxa + 1 END IF IF lastpress(3) = 8 THEN yya = yya + 3 xxa = xxa + 2 END IF IF lastpress(3) = 6 THEN yya = yya + 3 xxa = xxa + 1 END IF END IF END SUB SUB menu CLS 1 CLS 2 press$ = INKEY$ menu: press$ = INKEY$ CLS 1 CLS 2 COLOR 25 PRINT "MENU" PRINT PRINT "1) "; COLOR 4: PRINT "H"; COLOR 25: PRINT "it percentage" PRINT "2) "; COLOR 4: PRINT "C"; COLOR 25: PRINT "ontrols" PRINT "3) "; COLOR 4: PRINT "S"; COLOR 25: PRINT "hip colour" PRINT "4) "; COLOR 4: PRINT "G"; COLOR 25: PRINT "ravity" PRINT "5) "; COLOR 4: PRINT "R"; COLOR 25: PRINT "estart" PRINT "6) "; PRINT "R"; COLOR 4: PRINT "e"; COLOR 25: PRINT "sume" PRINT "7) "; COLOR 4: PRINT "Q"; COLOR 25: PRINT "uit" INPUT ">", ress$ IF ress$ = CHR$(27) THEN END IF ress$ = "h" OR ress$ = "H" THEN GOTO hitmiss IF ress$ = "c" OR ress$ = "C" THEN GOTO controls IF ress$ = "s" OR ress$ = "S" THEN GOTO shipcolour IF ress$ = "r" OR ress$ = "R" THEN GOTO restart IF ress$ = "q" OR ress$ = "Q" THEN GOTO quit IF ress$ = "e" OR ress$ = "E" THEN GOTO resumer IF ress$ = "g" OR ress$ = "G" THEN GOTO gravity hitmiss: CLS 1 CLS 2 PRINT PRINT "Player 1 hit/miss percentage: "; gagne(1) / miss(1) PRINT "Player 2 hit/miss percentage: "; gagne(2) / miss(2) PRINT "Player 3 hit/miss percentage: "; gagne(3) / miss(3) INPUT ">", gasfddasfds$ IF gasfddasfds$ = "wer" THEN END GOTO menu controls: CLS 1 CLS 2 COLOR 4 PRINT "Control Player 1 Player 2 Player 3" COLOR 25 PRINT PRINT "Right right arrow d j" PRINT "Left left arrow a g" PRINT "Up up arrow w y" PRINT "Down/shoot down arrow s h " INPUT ">", gadsfsfda$ GOTO menu shipcolour: press$ = INKEY$ CLS 1 CLS 2 PRINT PRINT "Player 1 "; gc PRINT "Player 2 "; bc PRINT "Player 3 "; bcc PRINT PRINT "1) "; COLOR 4: PRINT "R"; COLOR 25: PRINT "esume" PRINT "2) "; COLOR 4: PRINT "E"; COLOR 25: PRINT "dit player 1 colour" PRINT "3) "; COLOR 4: PRINT "C"; COLOR 25: PRINT "hange player 2 colour" PRINT "4) "; COLOR 4: PRINT "A"; COLOR 25: PRINT "lter player 3 colour" INPUT ">", pres$ IF pres$ = "r" OR pres$ = "R" THEN GOTO menu IF pres$ = "e" OR pres$ = "E" THEN GOTO onechoose IF pres$ = "c" OR pres$ = "C" THEN GOTO twochoose IF pres$ = "a" OR pres$ = "A" THEN GOTO threechoose onechoose: CLS 1 CLS 2 PRINT PRINT "Choose Player 1 colour:" PRINT PRINT "1) "; COLOR 4: PRINT "G"; COLOR 25: PRINT "reen" PRINT "2) "; COLOR 4: PRINT "B"; COLOR 25: PRINT "lue" PRINT "3) "; COLOR 4: PRINT "R"; COLOR 25: PRINT "ed" PRINT "4) "; COLOR 4: PRINT "Y"; COLOR 25: PRINT "ellow" INPUT ">", presss$ IF presss$ = "g" OR presss$ = "G" THEN gc = 2 IF presss$ = "b" OR presss$ = "B" THEN gc = 3 IF presss$ = "r" OR presss$ = "R" THEN gc = 4 IF presss$ = "y" OR presss$ = "Y" THEN gc = 14 GOTO shipcolour twochoose: CLS 1 CLS 2 PRINT PRINT "Choose Player 2 colour:" PRINT PRINT "1) "; COLOR 4: PRINT "G"; COLOR 25: PRINT "reen" PRINT "2) "; COLOR 4: PRINT "B"; COLOR 25: PRINT "lue" PRINT "3) "; COLOR 4: PRINT "R"; COLOR 25: PRINT "ed" PRINT "4) "; COLOR 4: PRINT "Y"; COLOR 25: PRINT "ellow" INPUT ">", ppress$ IF ppress$ = "g" OR ppress$ = "G" THEN bc = 2 IF ppress$ = "b" OR ppress$ = "B" THEN bc = 3 IF ppress$ = "r" OR ppress$ = "R" THEN bc = 4 IF ppress$ = "y" OR ppress$ = "Y" THEN bc = 14 GOTO shipcolour threechoose: CLS 1 CLS 2 PRINT PRINT "Choose Player 3 colour:" PRINT PRINT "1) "; COLOR 4: PRINT "G"; COLOR 25: PRINT "reen" PRINT "2) "; COLOR 4: PRINT "B"; COLOR 25: PRINT "lue" PRINT "3) "; COLOR 4: PRINT "R"; COLOR 25: PRINT "ed" PRINT "4) "; COLOR 4: PRINT "Y"; COLOR 25: PRINT "ellow" INPUT ">", pppress$ IF pppress$ = "g" OR pppress$ = "G" THEN bcc = 2 IF pppress$ = "b" OR pppress$ = "B" THEN bcc = 3 IF pppress$ = "r" OR pppress$ = "R" THEN bcc = 4 IF pppress$ = "y" OR pppress$ = "Y" THEN bcc = 14 GOTO shipcolour restart: gagne(1) = 0 gagne(2) = 0 shots(1) = 15 shots(2) = 15 miss(1) = 0 miss(2) = 0 x = 150 y = 190 xx = 150 yy = 20 GOTO ender quit: END gravity: CLS 1 CLS 2 PRINT 5 PRINT "Gravity = "; gravint INPUT "Change gravity to: ", gravint IF grav > 100 THEN grav = 100 IF grav < 0 THEN grav = 0 GOTO menu resumer: ender: CLS 1 CLS 2 END SUB SUB player.one.win CLS CLS 1 CLS 2 PRINT COLOR gc PRINT "Player 1 wins!!!" SLEEP 1 SLEEP 1 SLEEP 1 SLEEP 1 END END SUB SUB player.three.win CLS CLS 1 CLS 2 PRINT COLOR bcc PRINT "Player 3 wins!!!" SLEEP 1 SLEEP 1 SLEEP 1 SLEEP 1 END END SUB SUB Player.two.win CLS CLS 1 CLS 2 PRINT COLOR bc PRINT "Player 2 wins!!!" SLEEP 1 SLEEP 1 SLEEP 1 SLEEP 1 END END SUB SUB score LINE (1, 1)-(5, 3), 0, BF LOCATE 2, 2: COLOR 3: PRINT gagne(1); " "; shots(1); " "; ammo(1) LOCATE 3, 2: COLOR 2: PRINT gagne(2); " "; shots(2); " "; ammo(2) LOCATE 4, 2: COLOR 43: PRINT gagne(3); " "; shots(3); " "; ammo(3) IF shots(1) = 0 AND shots(2) = 0 AND shots(3) = 0 THEN shots(1) = 15 shots(2) = 15 shots(3) = 15 END IF IF shots(1) < 0 THEN shots(1) = 0 IF shots(2) < 0 THEN shots(2) = 0 IF shots(3) < 0 THEN shots(3) = 0 IF gagne(1) > 49 THEN player.one.win IF gagne(2) > 49 THEN Player.two.win IF gagne(3) > 49 THEN player.three.win END SUB SUB t.flare IF angle(2) = 1 THEN LINE (xx - 5, yy)-(xx + 5, yy), bc LINE (xx - 5, yy)-(xx, yy + 10), bc LINE (xx + 5, yy)-(xx, yy + 10), bc LINE (xx, yy)-(xx, yy - 3), fc END IF IF angle(2) = 2 THEN LINE (xx - 4, yy - 4)-(xx + 4, yy + 4), bc LINE (xx - 4, yy - 4)-(xx - 8, yy + 8), bc LINE (xx + 4, yy + 4)-(xx - 8, yy + 8), bc LINE (xx, yy)-(xx + 2, yy - 2), fc END IF IF angle(2) = 3 THEN LINE (xx, yy - 5)-(xx, yy + 5), bc LINE (xx, yy - 5)-(xx - 10, yy), bc LINE (xx, yy + 5)-(xx - 10, yy), bc LINE (xx, yy)-(xx + 3, yy), fc END IF IF angle(2) = 4 THEN LINE (xx - 4, yy + 4)-(xx + 4, yy - 4), bc LINE (xx - 4, yy + 4)-(xx - 8, yy - 8), bc LINE (xx + 4, yy - 4)-(xx - 8, yy - 8), bc LINE (xx, yy)-(xx + 2, yy + 2), fc END IF IF angle(2) = 5 THEN LINE (xx - 5, yy)-(xx + 5, yy), bc LINE (xx - 5, yy)-(xx, yy - 10), bc LINE (xx + 5, yy)-(xx, yy - 10), bc LINE (xx, yy)-(xx, yy + 3), fc END IF IF angle(2) = 6 THEN LINE (xx - 4, yy - 4)-(xx + 4, yy + 4), bc LINE (xx - 4, yy - 4)-(xx + 8, yy - 8), bc LINE (xx + 4, yy + 4)-(xx + 8, yy - 8), bc LINE (xx, yy)-(xx - 2, yy + 2), fc END IF IF angle(2) = 7 THEN LINE (xx, yy - 5)-(xx, yy + 5), bc LINE (xx, yy - 5)-(xx + 10, yy), bc LINE (xx, yy + 5)-(xx + 10, yy), bc LINE (xx, yy)-(xx - 3, yy), fc END IF IF angle(2) = 8 THEN LINE (xx - 4, yy + 4)-(xx + 4, yy - 4), bc LINE (xx - 4, yy + 4)-(xx + 8, yy + 8), bc LINE (xx + 4, yy - 4)-(xx + 8, yy + 8), bc LINE (xx, yy)-(xx - 2, yy - 2), fc END IF END SUB