Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE SUB pauseplay ()
- DECLARE SUB doend ()
- DECLARE SUB rotbotcol ()
- DECLARE SUB dopause ()
- DECLARE SUB winning ()
- DECLARE SUB help ()
- DECLARE SUB title ()
- DECLARE SUB fadeoff ()
- DECLARE SUB killtank ()
- DECLARE SUB robotsht ()
- DECLARE SUB moverobot ()
- DECLARE SUB iceo (xx!, yy!, rr!, aa!)
- DECLARE SUB goalcol ()
- DECLARE SUB gucko (gu1!, gu2!, gu3!, gu4!)
- DECLARE SUB expmine (e!)
- DECLARE SUB endlev ()
- DECLARE SUB goal ()
- DECLARE SUB movewall ()
- DECLARE SUB levels ()
- DECLARE SUB fadeon ()
- DECLARE SUB col ()
- DECLARE SUB mtbul ()
- DECLARE SUB movetank ()
- DECLARE SUB findtdir ()
- DECLARE SUB tshoot ()
- DECLARE SUB setup ()
- DECLARE SUB robul ()
- DIM SHARED spbox(30)
- DIM SHARED fire1(34)
- DIM SHARED fire2(34)
- DIM SHARED fire3(34)
- DIM SHARED tank2(34)
- DIM SHARED tank3(34)
- DIM SHARED finbul(34)
- DIM SHARED tanku(34)
- DIM SHARED tankd(34)
- DIM SHARED tankl(34)
- DIM SHARED tankr(34)
- DIM SHARED tankbox(34)
- DIM SHARED bul(4)
- DIM SHARED hwall(100)
- DIM SHARED vwall(100)
- DIM SHARED gl(100)
- DIM SHARED mine(34)
- DIM SHARED robot(50)
- 'explosion
- DIM SHARED wheel1(34)
- DIM SHARED wheel2(34)
- DIM SHARED wheel3(34)
- DIM SHARED wheel4(34)
- DIM SHARED dome(34)
- DIM SHARED can1(20)
- DIM SHARED can2(20)
- DIM SHARED p$(17)
- DIM SHARED red(255)
- DIM SHARED blue(255)
- DIM SHARED green(255)
- DIM SHARED r(255)
- DIM SHARED B(255)
- DIM SHARED g(255)
- DIM SHARED ron(5)
- DIM SHARED rx(5)
- DIM SHARED ry(5)
- DIM SHARED rw(5)
- DIM SHARED rz(5)
- DIM SHARED rwalk(5)
- DIM SHARED rdir(5)
- DIM SHARED rbul(5)
- DIM SHARED rbx(5)
- DIM SHARED rby(5)
- DIM SHARED rbw(5)
- DIM SHARED rbz(5)
- DIM SHARED tarx(5)
- DIM SHARED tary(5)
- DIM SHARED bon(5)
- DIM SHARED bx(5)
- DIM SHARED by(5)
- DIM SHARED bw(5)
- DIM SHARED bz(5)
- DIM SHARED hx1(5)
- DIM SHARED hx2(5)
- DIM SHARED hy(5)
- DIM SHARED hx(5)
- DIM SHARED hz(5)
- DIM SHARED hon(5)
- DIM SHARED vy1(5)
- DIM SHARED vy2(5)
- DIM SHARED vy(5)
- DIM SHARED vx(5)
- DIM SHARED vw(5)
- DIM SHARED von(5)
- COMMON SHARED q, gx, gy, oy1, oy2, ox1, endl, putted, dead, gnum, icy, explode
- COMMON SHARED tw, tx, ty, tz, tdir, contmode, going, guck, level, rshspd, done
- COMMON SHARED quit, lives, score, musc, lose
- ON ERROR GOTO handle
- contmode = 1
- setup
- 'winning
- 'END
- rest:
- title
- lives = 2
- level = 1
- restart:
- IF lose = 1 THEN GOTO lost
- levels
- ert:
- rotbotcol
- movetank
- IF endl = 1 THEN endlev
- IF done = 1 THEN GOTO restart
- mtbul
- movewall
- goalcol
- movetank
- IF endl = 1 THEN endlev
- IF done = 1 THEN GOTO restart
- moverobot
- robotsht
- IF dead = 1 THEN killtank
- IF dead = 1 THEN GOTO restart
- IF quit = 1 THEN GOTO sure
- quit = 0
- IF level = 10 THEN IF putted = 1 THEN GOTO final
- GOTO ert
- final:
- IF tx <= 114 THEN ELSE GOTO ert
- IF ty >= 80 THEN IF ty <= 90 THEN ELSE GOTO ert ELSE GOTO ert
- GET (113, ty)-(124, ty + 10), tankbox
- IF tdir = 1 THEN PUT (tx, ty), tanku
- IF tdir = 2 THEN PUT (tx, ty), tankr
- IF tdir = 3 THEN PUT (tx, ty), tankd
- IF tdir = 4 THEN PUT (tx, ty), tankl
- FOR t = 1 TO 10
- PUT (113, ty), tankbox
- ERASE tankbox
- GET (114, ty)-(124, ty + 10), tankbox
- FOR tt = 1 TO 300
- NEXT tt
- LINE (113, ty)-(124, ty + 10), 0, BF
- NEXT t
- fadeoff
- winning
- GOTO rest
- sure:
- LOCATE 1
- PRINT " "
- q$ = " Do you really want to quit? (Y/N) "
- FOR t = 1 TO 39
- LOCATE 1, t
- B$ = MID$(q$, t, 1)
- PRINT B$
- FOR tt = 1 TO 200
- NEXT tt
- IF UCASE$(INKEY$) = "Y" THEN GOTO rest
- NEXT t
- sur:
- LOCATE 1, 1
- PRINT q$
- a$ = UCASE$(INKEY$)
- IF a$ = "Y" THEN GOTO rest
- IF a$ = "N" THEN ELSE GOTO sur
- quit = 0
- LOCATE 1, 1
- PRINT " "
- LOCATE 1, 1
- PRINT "Level"; level
- LOCATE 1, 13
- PRINT "Tanks"; lives
- LOCATE 1, 25
- PRINT "Score"; score
- GOTO ert
- handle:
- SELECT CASE ERR
- CASE 5: IF explode = 1 THEN RESUME NEXT
- CASE ELSE: RESUME NEXT
- END SELECT
- END
- lost:
- SLEEP 3
- lose = 0
- FOR t = 1 TO 5
- rw(t) = (360 / 5) * t 'angle
- rz(t) = 70 'dist
- 'cos(0)=rx(t)/rz(t)
- rx(t) = ((COS(rw(t) * 3.14 / 180)) * rz(t)) + 152
- ry(t) = ((SIN(rw(t) * 3.14 / 180)) * rz(t) * .5) + 92
- PUT (rx(t), ry(t)), robot
- NEXT t
- LOCATE 13, 17
- PRINT "The End"
- LOCATE 20, 13
- FOR tt = 1 TO 100
- FOR t = 100 TO 5000 STEP 500
- SOUND t, .03
- SOUND 1000, .03
- NEXT t
- FOR t = 1 TO 5
- rw(t) = rw(t) + 5
- PUT (rx(t), ry(t)), robot
- rx(t) = ((COS(rw(t) * 3.14 / 180)) * rz(t)) + 152
- ry(t) = ((SIN(rw(t) * 3.14 / 180)) * rz(t) * .5) + 92
- PUT (rx(t), ry(t)), robot
- NEXT t
- IF tt = 50 THEN PRINT "...of the world"
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO rest
- NEXT tt
- SLEEP 2
- GOTO rest
- SUB col
- new& = (65536 * blue(q)) + (256 * green(q)) + red(q)
- PALETTE q, new&
- END SUB
- SUB doend
- ' Show the credits
- CLS
- FOR q = 1 TO 4
- red(q) = 0
- blue(q) = 0
- green(q) = 0
- col
- NEXT q
- COLOR 1
- LOCATE 6, 12
- PRINT "ROBOT ATTACK II"
- COLOR 2
- LOCATE 9, 7
- PRINT "Written and Programmed by"
- COLOR 3
- LOCATE 11, 13
- PRINT "Jack Thomson"
- COLOR 4
- LOCATE 13, 17
- PRINT "1997"
- red(1) = 63
- blue(1) = 0
- green(1) = 0
- red(2) = 20
- blue(2) = 63
- green(2) = 20
- red(3) = 30
- blue(3) = 30
- green(3) = 63
- red(4) = 20
- blue(4) = 20
- green(4) = 20
- FOR q = 1 TO 4
- col
- NEXT q
- FOR t = 1 TO 40
- dopause
- IF INKEY$ = "" THEN ELSE END
- NEXT t
- END
- END SUB
- SUB dopause
- t = TIMER + .01
- DO
- LOOP UNTIL TIMER >= t
- END SUB
- SUB endlev
- GET (tx, ty)-(tx + 9, ty + 10), tankbox
- PUT (tx, ty), tankr
- FOR t = 1 TO 10
- PUT (tx + 1, ty), tankbox
- ERASE tankbox
- GET (tx, ty)-(tx + 9, ty + 10), tankbox
- FOR tt = 1 TO 130
- NEXT tt
- LINE (tx, ty)-(tx + 10, ty + 10), 0, BF
- NEXT t
- level = level + 1
- lives = lives + 1
- done = 1
- fadeoff
- END SUB
- SUB expmine (e)
- IF e = 1 THEN GOTO exp1 ELSE GOTO exp2
- exp1:
- SELECT CASE tdir
- CASE 1: x = tx - 4
- y = ty - 11
- CASE 2: x = tx + 11
- y = ty - 7
- CASE 3: x = tx - 4
- y = ty + 7
- CASE 4: x = tx - 9
- y = ty - 7
- END SELECT
- GOTO explode
- exp2:
- SELECT CASE tdir
- CASE 1: x = tx + 7
- y = ty - 11
- CASE 2: x = tx + 11
- y = ty + 4
- CASE 3: x = tx + 4
- y = ty + 7
- CASE 4: x = tx - 9
- y = ty + 2
- END SELECT
- explode:
- PUT (x, y), fire1
- FOR t = 1 TO 700
- NEXT t
- PUT (x, y), fire1
- y = y - 1
- PUT (x, y), fire2
- FOR t = 1 TO 700
- NEXT t
- PUT (x, y), fire2
- y = y - 1
- PUT (x, y), fire3
- FOR t = 1 TO 700
- NEXT t
- PUT (x, y), fire3
- dead = 1
- END SUB
- SUB fadeoff
- LOCATE 1, 1
- PRINT " "
- FOR t = 1 TO 5
- IF ron(t) = 1 THEN PUT (rx(t), ry(t)), robot
- IF rbul(t) = 1 THEN PUT (rbx(t), rby(t)), bul
- IF bon(t) = 1 THEN PUT (bx(t), by(t)), bul
- NEXT t
- LINE (tx, ty)-(tx + 9, ty + 9), 0, BF
- FOR tt = 1 TO 10
- FOR q = 16 TO 20
- red(q) = INT(r(q) * (10 - tt) / 10)
- blue(q) = INT(B(q) * (10 - tt) / 10)
- green(q) = INT(g(q) * (10 - tt) / 10)
- col
- NEXT q
- NEXT tt
- CLS
- END SUB
- SUB fadeon
- r(16) = 60
- B(16) = 0
- g(16) = 0
- r(17) = 30
- B(17) = 0
- g(17) = 30
- r(18) = 0
- B(18) = 0
- g(18) = 0
- r(19) = 12
- B(19) = 12
- g(19) = 12
- r(20) = 40
- B(20) = 60
- g(20) = 60
- FOR tt = 1 TO 10
- FOR q = 16 TO 20
- red(q) = INT(r(q) * tt / 10)
- blue(q) = INT(B(q) * tt / 10)
- green(q) = INT(g(q) * tt / 10)
- col
- NEXT q
- NEXT tt
- END SUB
- SUB findtdir
- IF going = 1 THEN GOTO tyes ELSE
- tw = 0
- tz = 0
- GOTO tend
- tyes:
- IF tdir = 1 THEN GOTO td1
- IF tdir = 2 THEN GOTO td2
- IF tdir = 3 THEN GOTO td3 ELSE GOTO td4
- td1:
- tw = -1
- tz = 0
- GOTO tend
- td2:
- tw = 0
- tz = 1
- GOTO tend
- td3:
- tw = 1
- tz = 0
- GOTO tend
- td4:
- tw = 0
- tz = -1
- tend:
- END SUB
- SUB goal
- IF putted = 1 THEN GOTO eng ELSE PUT (gx, gy), gl
- putted = 1
- score = score + 200
- LOCATE 1, 25
- PRINT "Score"; score
- FOR t = 10 TO 50 STEP 10
- SOUND 40 + (t * t), .5
- NEXT t
- IF level = 1 THEN GOTO glv1
- IF level = 2 THEN GOTO glv2
- IF level = 3 THEN GOTO glv3
- IF level = 4 THEN GOTO glv4
- IF level = 5 THEN GOTO glv5
- IF level = 6 THEN GOTO glv6
- IF level = 7 THEN GOTO glv7
- IF level = 8 THEN GOTO glv8
- IF level = 9 THEN GOTO glv9
- IF level = 10 THEN GOTO glv20
- IF level = 11 THEN GOTO glv11
- IF level = 12 THEN GOTO glv12
- IF level = 13 THEN GOTO glv13
- 'IF level = 14 THEN GOTO glv14
- 'IF level = 15 THEN GOTO glv15
- 'IF level = 16 THEN GOTO glv16
- 'IF level = 17 THEN GOTO glv17
- 'IF level = 18 THEN GOTO glv18
- 'IF level = 19 THEN GOTO glv19
- IF level = 20 THEN GOTO glv20
- END
- glv1:
- LINE (300, 50)-(320, 90), 0, BF
- GOTO eng
- glv2:
- LINE (314, 160)-(320, 180), 0, BF
- GOTO eng
- glv3:
- LINE (314, 140)-(320, 155), 0, BF
- ron(4) = 1
- rx(4) = 280
- ry(4) = 140
- PUT (rx(4), ry(4)), robot
- GOTO eng
- glv4:
- LINE (200, 26)-(320, 54), 16, BF
- LINE (200, 30)-(320, 50), 0, BF
- LINE (215, 30)-(300, 50), 20, BF
- GOTO eng
- glv5:
- LINE (314, 170)-(320, 190), 0, BF
- CALL gucko(190, 15, 270, 35)
- GOTO eng
- glv6:
- LINE (312, 180)-(320, 194), 0, BF
- GOTO eng
- glv7:
- LINE (175, 90)-(179, 120), 0, BF
- FOR t = 15 TO 185 STEP 10
- PUT (CINT(RND * 50) + 250, t), mine
- NEXT t
- FOR t = 15 TO 185 STEP 10
- PUT (CINT(RND * 50) + 200, t), mine
- NEXT t
- ron(2) = 1
- rx(2) = 100
- ry(2) = 50
- ron(3) = 1
- rx(3) = 100
- ry(3) = 155
- PUT (rx(2), ry(2)), robot
- PUT (rx(3), ry(3)), robot
- rshspd = 5
- GOTO eng
- glv8:
- FOR t = 1 TO 5
- von(t) = 0
- NEXT t
- LINE (315, 30)-(320, 50), 16, BF
- LINE (315, 70)-(320, 83), 0, BF
- ron(3) = 1
- rx(3) = 140
- ry(3) = ty - 2
- PUT (rx(3), ry(3)), robot
- GOTO eng
- glv9:
- LINE (135, 25)-(147, 35), 0, BF
- LINE (148, 25)-(300, 35), 20, BF
- LINE (314, 194)-(320, 180), 0, BF
- LINE (206, 60)-(320, 160), 16, BF
- LINE (250, 60)-(270, 160), 20, BF
- FOR t = 1 TO 4
- LINE (206, 60 + (t * 20))-(313, 64 + (t * 20)), 0, BF
- hon(t) = 1
- hx1(t) = 210
- hx2(t) = 288
- hx(t) = 250
- hy(t) = 60 + (t * 20)
- hz(t) = t
- PUT (hx(t), hy(t)), hwall
- NEXT t
- GOTO eng
- glv10:
- FOR t = 36 TO 1 STEP -1
- LINE (320 - t, 50 - (t / 2))-(320 - t, 60 + (t / 2)), 0
- NEXT t
- LINE (22, 15)-(26, 34), 0, BF
- ron(4) = 1
- rx(4) = 100
- ry(4) = 70
- ron(5) = 1
- rx(5) = 50
- ry(5) = 170
- PUT (rx(4), ry(4)), robot
- PUT (rx(5), ry(5)), robot
- rshspd = 6
- GOTO eng
- glv11:
- von(5) = 2
- vy1(5) = 10
- vy2(5) = 82
- vy(5) = 50
- vx(5) = 315
- vw(5) = 1
- PUT (vx(5), vy(5)), vwall
- ron(4) = 1
- rx(4) = 30
- ry(4) = 70
- PUT (rx(4), ry(4)), robot
- rx(5) = rx(3)
- ry(5) = ry(3)
- IF ron(3) = 1 THEN ron(5) = 1
- IF ron(5) = 1 THEN PUT (rx(5), ry(5)), robot
- GOTO eng
- glv12:
- LINE (190, 100)-(194, 36), 16, BF
- LINE (5, 36)-(17, 65), 0, BF
- LINE (5, 65)-(30, 85), 0, BF
- LINE (315, 15)-(320, 35), 0, BF
- ron(2) = 1
- rx(2) = 195
- ry(2) = 170
- PUT (rx(2), ry(2)), robot
- IF ron(1) = 1 THEN ron(3) = 1
- rx(3) = 300
- ry(3) = 17
- IF ron(3) = 1 THEN PUT (rx(3), ry(3)), robot
- ron(4) = 1
- rx(4) = 100
- ry(4) = 130
- ron(5) = 1
- rx(5) = 120
- ry(5) = 170
- PUT (rx(4), ry(4)), robot
- PUT (rx(5), ry(5)), robot
- GOTO eng
- glv13:
- FOR a = 1 TO 4
- IF ron(a) = 0 THEN ron(a) = 1 ELSE GOTO noa
- rx(a) = 155
- ry(a) = 30 + (a * 30)
- noa:
- NEXT a
- LINE (312, 20)-(320, 30), 0, BF
- LINE (7, 50)-(23, 56), 20, BF
- LINE (7, 110)-(23, 116), 20, BF
- LINE (7, 170)-(23, 176), 20, BF
- LINE (312, 80)-(296, 86), 20, BF
- LINE (312, 140)-(296, 146), 20, BF
- GOTO eng
- glv20:
- FOR t = 1 TO 4
- IF hon(t) = 1 THEN PUT (hx(t), hy(t)), hwall
- IF hon(t) = 2 THEN PUT (hx(t), hy(t)), vwall
- hon(t) = 0
- NEXT t
- hon(1) = 1
- hx1(1) = 90
- hx2(1) = 250
- hx(1) = 100
- hy(1) = 36
- hz(1) = 1
- hon(2) = 2
- hx1(2) = 90
- hx2(2) = 250
- hx(2) = 100
- hy(2) = 15
- hz(2) = 1
- 'hon(3) = 1
- 'hx1(3) = 120
- 'hx2(3) = 280
- 'hx(3) = 121
- 'hy(3) = 36
- 'hz(3) = 1
- 'hon(4) = 2
- 'hx1(4) = 111
- 'hx2(4) = 287
- 'hx(4) = 137
- 'hy(4) = 15
- 'hz(4) = 1
- FOR t = 1 TO 4
- IF hon(t) = 1 THEN PUT (hx(t), hy(t)), hwall
- IF hon(t) = 2 THEN PUT (hx(t), hy(t)), vwall
- NEXT t
- FOR t = 1 TO 5
- IF ron(t) = 1 THEN PUT (rx(t), ry(t)), robot
- ron(t) = 1
- rx(t) = 200 + (t * 15)
- ry(t) = 130
- PUT (rx(t), ry(t)), robot
- rwalk(t) = 150
- rdir(t) = 1
- rw(t) = 0
- rz(t) = 0
- NEXT t
- vy1(1) = 65
- von(2) = 1
- vy1(2) = 50
- vy2(2) = 120
- vy(2) = 50
- vx(2) = 179
- vw(2) = 3
- von(3) = 1
- vy1(3) = 50
- vy2(3) = 120
- vy(3) = 120
- vx(3) = 158
- vw(3) = -2
- von(4) = 1
- vy1(4) = 50
- vy2(4) = 120
- vy(4) = 100
- vx(4) = 137
- vw(4) = 4
- PUT (vx(2), vy(2)), hwall
- PUT (vx(3), vy(3)), hwall
- PUT (vx(4), vy(4)), hwall
- LINE (107, 74)-(130, 106), 16, B
- LINE (108, 75)-(130, 105), 18, BF
- LINE (113, 80)-(130, 100), 0, BF
- GOTO eng
- eng:
- END SUB
- SUB goalcol
- q = 18
- gnum = gnum + 2
- IF gnum > 80 THEN gnum = 0
- IF gnum < 40 THEN ELSE GOTO gl2
- blue(18) = 41 - gnum
- green(18) = gnum
- GOTO endg
- gl2:
- blue(18) = gnum - 40
- green(18) = 81 - gnum
- endg:
- B(18) = blue(18)
- g(18) = green(18)
- col
- END SUB
- SUB gucko (gu1, gu2, gu3, gu4)
- t1 = (gu3 - gu1)
- t2 = (gu4 - gu2)
- tt = t1 * t2 / 7
- FOR t = 1 TO tt
- xx = CINT(RND * t1) + gu1
- yy = CINT(RND * t2) + gu2
- PSET (xx, yy), 17
- NEXT t
- END SUB
- SUB help
- begin:
- CLS
- FOR q = 42 TO 45
- red(q) = 57
- blue(q) = 57
- green(q) = 57
- col
- NEXT q
- LINE (0, 0)-(319, 199), 35, B
- LINE (5, 5)-(314, 194), 35, B
- PAINT (2, 2), 36, 35
- COLOR 42
- LOCATE 3, 9
- PRINT "Welcome to ROBOT ATTACK"
- LOCATE 5, 4
- PRINT "Press the letter of your selection"
- LOCATE 8, 14
- COLOR 43
- PRINT "(C)ontrol"
- LOCATE 10, 14
- COLOR 44
- PRINT "(M)ission"
- LOCATE 12, 14
- COLOR 45
- PRINT "(H)azards"
- COLOR 42
- LOCATE 15, 5
- PRINT "Press F2 to play ROBOT ATTACK"
- LOCATE 16, 5
- PRINT "Press Esc at title to Exit"
- LOCATE 23, 7
- PRINT "Press Esc to retutrn to title"
- h1:
- a$ = UCASE$(INKEY$)
- IF a$ = "C" THEN GOTO h2
- IF a$ = "M" THEN GOTO h3
- IF a$ = "H" THEN GOTO h4
- IF a$ = CHR$(27) THEN GOTO endof
- GOTO h1
- h2:
- 'LINE (6, 6)-(313, 193), 0, BF
- FOR gx = 57 TO 0 STEP -2
- red(42) = gx
- red(44) = gx
- red(45) = gx
- blue(42) = gx
- blue(44) = gx
- blue(45) = gx
- green(42) = gx
- green(44) = gx
- green(45) = gx
- FOR q = 42 TO 45
- col
- NEXT q
- NEXT gx
- COLOR 43
- FOR t = 8 TO 4 STEP -1
- LOCATE t, 14
- PRINT " "
- LOCATE t - 1, 14
- PRINT "(C)ontrol"
- FOR tt = 1 TO 500
- NEXT tt
- NEXT t
- FOR tt = 1 TO 1300
- NEXT tt
- LOCATE 3, 14
- PRINT " C ontrol"
- FOR tt = 1 TO 500
- NEXT tt
- LOCATE 3, 14
- PRINT " Control "
- hhh1:
- LINE (6, 25)-(313, 193), 0, BF
- LOCATE 5, 3
- '*********************************************
- PRINT "There are two ways that the tank may"
- LOCATE 6, 3
- PRINT "be controlled. Press the number of"
- LOCATE 7, 3
- PRINT "control that you would like explained"
- LOCATE 10, 14
- PRINT "Mode 1"
- LOCATE 12, 14
- PRINT "Mode 2"
- LOCATE 15, 3
- PRINT "The tank may shoot 5 bullets at once."
- LOCATE 17, 6
- PRINT "The space bar is used to shoot."
- LOCATE 19, 6
- PRINT "Press `S' to toggle sound."
- LOCATE 20, 6
- PRINT "Press `C' to change control mode."
- LOCATE 22, 3
- PRINT "Press Esc to return to help menu..."
- hh1:
- a$ = INKEY$
- IF a$ = "1" THEN GOTO hh2
- IF a$ = "2" THEN GOTO hh3
- IF a$ = CHR$(27) THEN GOTO begin
- GOTO hh1
- hh2:
- LINE (6, 25)-(313, 193), 0, BF
- PUT (205, 90), tanku
- PUT (190, 105), tankl
- PUT (220, 105), tankr
- PUT (205, 120), tankd
- LINE (210, 85)-(210, 75), 43
- DRAW "g3 e3 f3"
- LINE (210, 135)-(210, 145), 43
- DRAW "h3 f3 e3"
- LINE (185, 110)-(175, 110), 43
- DRAW "e3 g3 f3"
- LINE (235, 110)-(245, 110), 43
- DRAW "h3 f3 g3"
- LOCATE 5, 3
- PRINT "With this mode of control, the tank"
- LOCATE 6, 3
- PRINT "changes to the direction of the"
- LOCATE 7, 3
- PRINT "pressed arrow. The `A' and `Z' keys"
- LOCATE 8, 3
- PRINT "make the tank go and stop."
- LOCATE 12, 3
- PRINT "Use the arrow"
- LOCATE 13, 3
- PRINT "keys or the"
- LOCATE 14, 3
- PRINT "keypad keys to"
- LOCATE 15, 3
- PRINT "control the tank"
- LOCATE 22, 7
- PRINT "Press Esc to continue..."
- DO
- a$ = INKEY$
- LOOP UNTIL a$ = CHR$(27)
- GOTO hhh1
- hh3:
- LINE (6, 25)-(313, 193), 0, BF
- LOCATE 5, 3
- PRINT "For control mode #2, when the right"
- LOCATE 6, 3
- PRINT "arrow key is pressed, the tank TURNS"
- LOCATE 7, 3
- PRINT "right. The illustration below shows"
- LOCATE 8, 3
- PRINT "the tank TURNING right two times."
- LOCATE 9, 3
- PRINT "Summary: The right key turns the"
- LOCATE 10, 3
- PRINT "tank clockwise and the left key"
- LOCATE 11, 3
- PRINT "turns the tank counter-clockwise."
- LOCATE 15, 3
- PRINT "The up arrow key causes"
- LOCATE 16, 3
- PRINT "the tank to go forward and"
- LOCATE 17, 3
- PRINT "the down arrow key causes"
- LOCATE 18, 3
- PRINT "it to stop."
- LOCATE 22, 7
- PRINT "Press Esc to continue..."
- PUT (240, 100), tankr
- CIRCLE (255, 116), 13, 43, 0, 1.57
- PSET (268, 117)
- DRAW "d3e3 g3 h3"
- PUT (263, 125), tankd
- CIRCLE (255, 140), 13, 43, 4.71, 0
- PSET (255, 151)
- DRAW "e3 g3 f3"
- PUT (240, 145), tankl
- DO
- a$ = INKEY$
- LOOP UNTIL a$ = CHR$(27)
- GOTO hhh1
- h3:
- FOR gx = 57 TO 0 STEP -2
- red(42) = gx
- red(43) = gx
- red(45) = gx
- blue(42) = gx
- blue(43) = gx
- blue(45) = gx
- green(42) = gx
- green(43) = gx
- green(45) = gx
- FOR q = 42 TO 45
- col
- NEXT q
- NEXT gx
- COLOR 44
- FOR t = 10 TO 4 STEP -1
- LOCATE t, 14
- PRINT " "
- LOCATE t - 1, 14
- PRINT "(M)ission"
- FOR tt = 1 TO 500
- NEXT tt
- NEXT t
- FOR tt = 1 TO 1300
- NEXT tt
- LOCATE 3, 14
- PRINT " M ission"
- FOR tt = 1 TO 500
- NEXT tt
- LOCATE 3, 14
- PRINT " Mission "
- LINE (6, 25)-(313, 193), 0, BF
- LOCATE 5, 3
- PRINT "Your Mission:"
- LOCATE 7, 3
- PRINT "The evil robots are constructing a"
- LOCATE 8, 3
- PRINT "huge super-robot that is going to"
- LOCATE 9, 3
- PRINT "overthrow the human race and"
- LOCATE 10, 3
- PRINT "destroy the Earth! You are the"
- LOCATE 11, 3
- PRINT "only one who can destroy this new"
- LOCATE 12, 3
- PRINT "danger and save the world. To get"
- LOCATE 13, 3
- PRINT "through each level you must get the"
- LOCATE 14, 3
- PRINT "Crystal. Then a door to the next"
- LOCATE 15, 3
- PRINT "level opens."
- LOCATE 17, 3
- PRINT "There are 10 levels full of shooting"
- LOCATE 18, 3
- PRINT "robots, explosive landmines, sticky"
- LOCATE 19, 3
- PRINT "guck, and other dangers. Be careful!"
- LOCATE 23, 4
- PRINT "Press Esc to return to help menu"
- DO
- a$ = INKEY$
- LOOP UNTIL a$ = CHR$(27)
- GOTO begin
- h4:
- FOR gx = 57 TO 0 STEP -2
- red(42) = gx
- red(43) = gx
- red(44) = gx
- blue(42) = gx
- blue(43) = gx
- blue(44) = gx
- green(42) = gx
- green(43) = gx
- green(44) = gx
- FOR q = 42 TO 44
- col
- NEXT q
- NEXT gx
- COLOR 45
- FOR t = 12 TO 4 STEP -1
- LOCATE t, 14
- PRINT " "
- LOCATE t - 1, 14
- PRINT "(H)azards"
- FOR tt = 1 TO 500
- NEXT tt
- NEXT t
- FOR tt = 1 TO 1300
- NEXT tt
- LOCATE 3, 14
- PRINT " H azards"
- FOR tt = 1 TO 500
- NEXT tt
- LOCATE 3, 14
- PRINT " Hazards "
- LINE (6, 25)-(313, 193), 0, BF
- LOCATE 5, 3
- PRINT "Robot"
- PUT (75, 28), robot
- LOCATE 5, 14
- PRINT "Robots move around and"
- LOCATE 6, 14
- PRINT "shoot at you if you get"
- LOCATE 7, 14
- PRINT "in their way."
- LOCATE 9, 3
- PRINT "Ice"
- CALL iceo(73, 68, 20, .2)
- LOCATE 9, 14
- PRINT "You have no control over"
- LOCATE 10, 14
- PRINT "the tank when it is on"
- LOCATE 11, 14
- PRINT "the slippery ice."
- LOCATE 13, 3
- PRINT "Walls"
- PUT (65, 97), hwall
- LOCATE 13, 14
- PRINT "Do not run into either a"
- LOCATE 14, 14
- PRINT "normal or a moving wall."
- LOCATE 15, 14
- PRINT "They are both deadly."
- LOCATE 17, 3
- PRINT "Guck"
- CALL gucko(60, 125, 80, 137)
- LOCATE 17, 14
- PRINT "Guck is harmless. All it"
- LOCATE 18, 14
- PRINT "does is stop the tank."
- LOCATE 20, 3
- PRINT "Mines"
- PUT (70, 155), mine
- LOCATE 20, 14
- PRINT "Beware of landmines. They"
- LOCATE 21, 14
- PRINT "Cannot be seen easily."
- LOCATE 23, 7
- PRINT "Press Esc to continue..."
- fadeon
- DO
- a$ = INKEY$
- LOOP UNTIL a$ = CHR$(27)
- GOTO begin
- endof:
- END SUB
- SUB iceo (xx, yy, rr, aa)
- CIRCLE (xx, yy), rr, 20, , , aa
- PAINT (xx, yy), 20, 20
- END SUB
- SUB killtank
- SOUND (RND * 100) + 40, .05
- SOUND (RND * 100) + 40, .05
- explode = 1
- IF tdir = 1 THEN GOTO k1
- IF tdir = 2 THEN GOTO k2
- IF tdir = 3 THEN GOTO k3
- IF tdir = 4 THEN GOTO k4
- END
- k1:
- PUT (tx - 4, ty), wheel1
- PUT (tx + 5, ty), wheel1
- PUT (tx + 4, ty), can2
- PUT (tx, ty), dome
- FOR ttt = 0 TO 12 STEP 4
- PUT (tx - (5 + ttt), ty), wheel4
- PUT (tx + 6 + ttt, ty), wheel2
- PUT (tx, ty + 1 + ttt), dome
- PUT (tx + 4, ty - (1 + ttt)), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (5 + ttt), ty), wheel4
- PUT (tx + 6 + ttt, ty), wheel2
- PUT (tx, ty + 1 + ttt), dome
- PUT (tx + 4, ty - (1 + ttt)), can1
- PUT (tx - (6 + ttt), ty), wheel3
- PUT (tx + 7 + ttt, ty), wheel3
- PUT (tx, ty + 2 + ttt), dome
- PUT (tx + 4, ty - (2 + ttt)), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (6 + ttt), ty), wheel3
- PUT (tx + 7 + ttt, ty), wheel3
- PUT (tx, ty + 2 + ttt), dome
- PUT (tx + 4, ty - (2 + ttt)), can2
- PUT (tx - (7 + ttt), ty), wheel2
- PUT (tx + 8 + ttt, ty), wheel4
- PUT (tx, ty + 3 + ttt), dome
- PUT (tx + 4, ty - (3 + ttt)), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (7 + ttt), ty), wheel2
- PUT (tx + 8 + ttt, ty), wheel4
- PUT (tx, ty + 3 + ttt), dome
- PUT (tx + 4, ty - (3 + ttt)), can1
- PUT (tx - (8 + ttt), ty), wheel1
- PUT (tx + 9 + ttt, ty), wheel1
- PUT (tx, ty + 4 + ttt), dome
- PUT (tx + 4, ty - (4 + ttt)), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (8 + ttt), ty), wheel1
- PUT (tx + 9 + ttt, ty), wheel1
- PUT (tx, ty + 4 + ttt), dome
- PUT (tx + 4, ty - (4 + ttt)), can2
- NEXT ttt
- GOTO fireing
- k2:
- PUT (tx, ty - 4), wheel3
- PUT (tx, ty + 5), wheel3
- PUT (tx, ty), dome
- PUT (tx + 8, ty + 4), can1
- FOR ttt = 0 TO 12 STEP 4
- PUT (tx, ty - (4 + ttt)), wheel2
- PUT (tx, ty + 5 + ttt), wheel4
- PUT (tx - (1 + ttt), ty), dome
- PUT (tx + 8 + ttt, ty + 4), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (4 + ttt)), wheel2
- PUT (tx, ty + 5 + ttt), wheel4
- PUT (tx - (1 + ttt), ty), dome
- PUT (tx + 8 + ttt, ty + 4), can2
- PUT (tx, ty - (5 + ttt)), wheel1
- PUT (tx, ty + 6 + ttt), wheel1
- PUT (tx - (2 + ttt), ty), dome
- PUT (tx + 9 + ttt, ty + 4), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (5 + ttt)), wheel1
- PUT (tx, ty + 6 + ttt), wheel1
- PUT (tx - (2 + ttt), ty), dome
- PUT (tx + 9 + ttt, ty + 4), can1
- PUT (tx, ty - (6 + ttt)), wheel4
- PUT (tx, ty + 7 + ttt), wheel2
- PUT (tx - (3 + ttt), ty), dome
- PUT (tx + 10 + ttt, ty + 4), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (6 + ttt)), wheel4
- PUT (tx, ty + 7 + ttt), wheel2
- PUT (tx - (3 + ttt), ty), dome
- PUT (tx + 10 + ttt, ty + 4), can2
- PUT (tx, ty - (7 + ttt)), wheel3
- PUT (tx, ty + 8 + ttt), wheel3
- PUT (tx - (4 + ttt), ty), dome
- PUT (tx + 11 + ttt, ty + 4), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (7 + ttt)), wheel3
- PUT (tx, ty + 8 + ttt), wheel3
- PUT (tx - (4 + ttt), ty), dome
- PUT (tx + 11 + ttt, ty + 4), can1
- NEXT ttt
- GOTO fireing
- k3:
- PUT (tx - 4, ty), wheel1
- PUT (tx + 5, ty), wheel1
- PUT (tx + 4, ty + 8), can2
- PUT (tx, ty), dome
- FOR ttt = 0 TO 12 STEP 4
- PUT (tx - (5 + ttt), ty), wheel2
- PUT (tx + 6 + ttt, ty), wheel4
- PUT (tx, ty - (1 + ttt)), dome
- PUT (tx + 4, ty + (9 + ttt)), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (5 + ttt), ty), wheel2
- PUT (tx + 6 + ttt, ty), wheel4
- PUT (tx, ty - (1 + ttt)), dome
- PUT (tx + 4, ty + (9 + ttt)), can1
- PUT (tx - (6 + ttt), ty), wheel3
- PUT (tx + 7 + ttt, ty), wheel3
- PUT (tx, ty - (2 + ttt)), dome
- PUT (tx + 4, ty + (10 + ttt)), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (6 + ttt), ty), wheel3
- PUT (tx + 7 + ttt, ty), wheel3
- PUT (tx, ty - (2 + ttt)), dome
- PUT (tx + 4, ty + (10 + ttt)), can2
- PUT (tx - (7 + ttt), ty), wheel4
- PUT (tx + 8 + ttt, ty), wheel2
- PUT (tx, ty - (3 + ttt)), dome
- PUT (tx + 4, ty + (11 + ttt)), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (7 + ttt), ty), wheel4
- PUT (tx + 8 + ttt, ty), wheel2
- PUT (tx, ty - (3 + ttt)), dome
- PUT (tx + 4, ty + (11 + ttt)), can1
- PUT (tx - (8 + ttt), ty), wheel1
- PUT (tx + 9 + ttt, ty), wheel1
- PUT (tx, ty - (4 + ttt)), dome
- PUT (tx + 4, ty + (12 + ttt)), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx - (8 + ttt), ty), wheel1
- PUT (tx + 9 + ttt, ty), wheel1
- PUT (tx, ty - (4 + ttt)), dome
- PUT (tx + 4, ty + (12 + ttt)), can2
- NEXT ttt
- GOTO fireing
- k4:
- PUT (tx, ty - 4), wheel3
- PUT (tx, ty + 5), wheel3
- PUT (tx, ty), dome
- PUT (tx, ty + 4), can1
- FOR ttt = 0 TO 12 STEP 4
- PUT (tx, ty - (4 + ttt)), wheel2
- PUT (tx, ty + 5 + ttt), wheel4
- PUT (tx - (1 + ttt), ty), dome
- PUT (tx + 8 + ttt, ty + 4), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (4 + ttt)), wheel2
- PUT (tx, ty + 5 + ttt), wheel4
- PUT (tx - (1 + ttt), ty), dome
- PUT (tx + 8 + ttt, ty + 4), can2
- PUT (tx, ty - (5 + ttt)), wheel1
- PUT (tx, ty + 6 + ttt), wheel1
- PUT (tx - (2 + ttt), ty), dome
- PUT (tx + 9 + ttt, ty + 4), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (5 + ttt)), wheel1
- PUT (tx, ty + 6 + ttt), wheel1
- PUT (tx - (2 + ttt), ty), dome
- PUT (tx + 9 + ttt, ty + 4), can1
- PUT (tx, ty - (6 + ttt)), wheel4
- PUT (tx, ty + 7 + ttt), wheel2
- PUT (tx - (3 + ttt), ty), dome
- PUT (tx + 10 + ttt, ty + 4), can2
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (6 + ttt)), wheel4
- PUT (tx, ty + 7 + ttt), wheel2
- PUT (tx - (3 + ttt), ty), dome
- PUT (tx + 10 + ttt, ty + 4), can2
- PUT (tx, ty - (7 + ttt)), wheel3
- PUT (tx, ty + 8 + ttt), wheel3
- PUT (tx - (4 + ttt), ty), dome
- PUT (tx + 11 + ttt, ty + 4), can1
- FOR tt = 1 TO 50
- SOUND (RND * 100) + 40, .03
- NEXT tt
- PUT (tx, ty - (7 + ttt)), wheel3
- PUT (tx, ty + 8 + ttt), wheel3
- PUT (tx - (4 + ttt), ty), dome
- PUT (tx + 11 + ttt, ty + 4), can1
- NEXT ttt
- GOTO fireing
- fireing:
- LINE (tx + 1, ty)-(tx + 8, ty + 3), 0, BF
- FOR t = 1 TO 10
- PUT (tx, ty - 5), fire1
- FOR tt = 1 TO 40
- SOUND (RND * 1000) + 40, .03
- NEXT tt
- PUT (tx, ty - 5), fire1
- PUT (tx, ty - 5), fire2
- FOR tt = 1 TO 40
- SOUND (RND * 1000) + 40, .03
- NEXT tt
- PUT (tx, ty - 5), fire2
- PUT (tx, ty - 5), fire3
- FOR tt = 1 TO 40
- SOUND (RND * 1000) + 40, .03
- NEXT tt
- PUT (tx, ty - 5), fire3
- NEXT t
- fadeoff
- lives = lives - 1
- IF lives < 0 THEN lose = 1
- END SUB
- SUB levels
- CLS
- endl = 0
- done = 0
- dead = 0
- going = 0
- putted = 0
- explode = 0
- FOR t = 1 TO 5
- rbul(t) = 0
- bon(t) = 0
- ron(t) = 0
- von(t) = 0
- hon(t) = 0
- NEXT t
- FOR q = 16 TO 20
- red(q) = 0
- blue(q) = 0
- green(q) = 0
- col
- NEXT q
- LINE (0, 10)-(320, 200), 16, BF
- LINE (5, 15)-(314, 194), 0, BF
- PRESET (0, 10)
- PRESET (0, 199)
- PRESET (319, 10)
- PRESET (319, 199)
- q = 3
- red(3) = 0
- blue(3) = 0
- green(3) = 0
- col
- COLOR 3
- LOCATE 10, 17
- PRINT "Level"; level
- FOR t = 1 TO 60 STEP 3
- red(3) = t
- blue(3) = t
- green(3) = t
- col
- NEXT t
- SLEEP 2
- FOR t = 60 TO 1 STEP -3
- red(3) = t
- blue(3) = t
- green(3) = t
- col
- NEXT t
- LOCATE 10, 17
- PRINT " "
- IF level = 1 THEN GOTO lev1
- IF level = 2 THEN GOTO lev2
- IF level = 3 THEN GOTO lev3
- IF level = 4 THEN GOTO lev4
- IF level = 5 THEN GOTO lev5
- IF level = 6 THEN GOTO lev6
- IF level = 7 THEN GOTO lev7
- IF level = 8 THEN GOTO lev8
- IF level = 9 THEN GOTO lev9
- IF level = 10 THEN GOTO lev20
- COLOR 7
- END
- lev1:
- tx = 10
- ty = 50
- tdir = 3
- gx = 40
- gy = 170
- rshspd = 3
- ron(1) = 1
- rx(1) = 160
- ry(1) = 30
- ron(2) = 1
- rx(2) = 100
- ry(2) = 50
- CALL gucko(40, 15, 50, 90)
- CALL gucko(300, 20, 313, 120)
- CALL gucko(120, 140, 140, 164)
- LINE (51, 15)-(55, 90), 16, BF
- LINE (250, 15)-(254, 160), 16, BF
- LINE (170, 200)-(174, 100), 16, BF
- LINE (5, 150)-(130, 154), 16, BF
- GOTO levend
- lev2:
- tx = 160
- ty = 25
- tdir = 4
- gx = 80
- gy = 110
- rshspd = 3
- ron(1) = 1
- rx(1) = 125
- ry(1) = 130
- ron(2) = 1
- rx(2) = 180
- ry(2) = 170
- ron(3) = 1
- rx(3) = 290
- ry(3) = 100
- LINE (180, 15)-(184, 50), 16, BF
- LINE (50, 46)-(180, 50), 16, BF
- LINE (50, 46)-(54, 150), 16, BF
- LINE (50, 146)-(160, 150), 16, BF
- LINE (115, 150)-(119, 80), 16, BF
- LINE (156, 150)-(160, 100), 16, BF
- LINE (250, 200)-(254, 50), 16, BF
- GOTO levend
- lev3:
- tx = 20
- ty = 30
- tdir = 2
- gx = 80
- gy = 95
- rshspd = 3.5
- ron(1) = 1
- rx(1) = 100
- ry(1) = 100
- ron(2) = 1
- rx(2) = 160
- ry(2) = 27
- ron(3) = 1
- rx(3) = 20
- ry(3) = 160
- LINE (50, 50)-(200, 160), 16, BF
- LINE (55, 55)-(195, 155), 0, BF
- LINE (195, 150)-(200, 120), 0, BF
- CALL gucko(230, 70, 300, 110)
- GOTO levend
- lev4:
- tx = 20
- ty = 30
- tdir = 2
- gx = 230
- gy = 70
- rshspd = 3.5
- ron(1) = 1
- rx(1) = 175
- ry(1) = 40
- ron(2) = 1
- rx(2) = 250
- ry(2) = 130
- von(1) = 1
- vy1(1) = 88
- vy2(1) = 147
- vy(1) = 90
- vx(1) = 100
- vw(1) = 1
- von(2) = 1
- vy1(2) = 88
- vy2(2) = 147
- vy(2) = 130
- vx(2) = 130
- vw(2) = 2
- CALL gucko(15, 100, 90, 120)
- CALL iceo(293, 102, 21, .2)
- LINE (200, 15)-(204, 160), 16, BF
- LINE (200, 100)-(271, 104), 16, BF
- LINE (160, 15)-(164, 130), 16, BF
- LINE (200, 160)-(100, 156), 16, BF
- LINE (100, 80)-(160, 84), 16, BF
- GOTO levend
- lev5:
- tx = 20
- ty = 30
- tdir = 3
- gx = 220
- gy = 80
- rshspd = 3
- ron(1) = 1
- rx(1) = 230
- ry(1) = 30
- ron(2) = 1
- rx(2) = 118
- ry(2) = 100
- ron(3) = 1
- rx(3) = 170
- ry(3) = 80
- hon(1) = 1
- hx1(1) = 100
- hx2(1) = 290
- hx(1) = 100
- hy(1) = 50
- hz(1) = 1
- hon(2) = 1
- hx1(2) = 100
- hx2(2) = 290
- hx(2) = 121
- hy(2) = 50
- hz(2) = 1
- hon(3) = 2
- hx1(3) = 205
- hx2(3) = 240
- hx(3) = 215
- hy(3) = 75
- hz(3) = .5
- CALL iceo(200, 182, 38, .4)
- LINE (170, 195)-(225, 200), 16, BF
- LINE (200, 50)-(250, 100), 16, BF
- LINE (205, 55)-(245, 95), 0, BF
- LINE (110, 55)-(114, 195), 16, BF
- LINE (130, 55)-(134, 169), 16, BF
- LINE (134, 166)-(320, 169), 16, BF
- GOTO levend
- lev6:
- tx = 20
- ty = 170
- tdir = 2
- gx = 100
- gy = 100
- rshspd = 7
- FOR t = 1 TO 5
- ron(t) = 1
- NEXT t
- rx(1) = 300
- ry(1) = 30
- rx(2) = 280
- ry(2) = 60
- rx(3) = 260
- ry(3) = 90
- rx(4) = 240
- ry(4) = 120
- rx(5) = 220
- ry(5) = 150
- LINE (5, 15)-(314, 16), 16, B
- LINE (312, 15)-(314, 200), 16, BF
- LINE (5, 15)-(314, 194), 16, B
- LINE (6, 16)-(313, 193), 16, B
- LINE (180, 200)-(190, 50), 16, BF
- LINE (5, 15)-(15, 150), 20, BF
- LINE (50, 184)-(179, 194), 20, BF
- FOR t = 10 TO 190 STEP 3
- LINE (t, 20)-(t + 30, 50), 20
- NEXT t
- CALL iceo(105, 105, 50, 1)
- CIRCLE (105, 105), 20, 0
- PAINT (105, 105), 0, 0
- GOTO levend
- lev7:
- tx = 160
- ty = 100
- tdir = 4
- gx = 9
- gy = 30
- rshspd = 4
- ron(1) = 1
- rx(1) = 30
- ry(1) = 20
- hon(1) = 2
- hx1(1) = 50
- hx2(1) = 230
- hx(1) = 230
- hy(1) = 95
- hz(1) = -1
- von(1) = 1
- vy1(1) = 70
- vy2(1) = 135
- vy(1) = 70
- vx(1) = 130
- vw(1) = 1
- von(2) = 2
- vy1(2) = 60
- vy2(2) = 125
- vy(2) = 95
- vx(2) = 100
- vw(2) = -1
- LINE (175, 90)-(179, 120), 16, BF
- LINE (50, 89)-(175, 94), 16, BF
- LINE (50, 116)-(175, 121), 16, BF
- LINE (50, 15)-(54, 90), 16, BF
- LINE (50, 120)-(54, 200), 16, BF
- LINE (24, 15)-(28, 170), 16, BF
- LINE (314, 90)-(320, 102), 0, BF
- GOTO levend
- lev8:
- tx = 30
- ty = 95
- tdir = 2
- gx = 300
- gy = 35
- rshspd = 5
- FOR t = 1 TO 5
- von(t) = 2
- vy1(t) = 50
- vy2(t) = 150
- vy(t) = 70
- vx(t) = 95 + (6 * t)
- vw(t) = 1
- LINE (95 + (6 * t), 15)-(99 + (6 * t), 200), 16, BF
- NEXT t
- vy(5) = 120
- vw(5) = .5
- LINE (320, 60)-(150, 66), 16, BF
- LINE (314, 30)-(320, 50), 0, BF
- LINE (150, 66)-(156, 180), 16, BF
- ron(1) = 1
- rx(1) = 250
- ry(1) = 150
- ron(2) = 1
- rx(2) = 280
- ry(2) = 150
- GOTO levend
- lev9:
- tx = 10
- ty = 20
- tdir = 1
- gx = 137
- gy = 147
- rshspd = 4
- FOR t = 40 TO 200 STEP 40
- LINE (t, 15)-(t + 5, 175), 16, BF
- NEXT t
- FOR t = 50 TO 170 STEP 40
- LINE (5, t)-(200, t + 5), 16, BF
- NEXT t
- LINE (40, 25)-(165, 35), 20, BF
- LINE (178, 50)-(188, 56), 0, BF
- LINE (178, 90)-(188, 96), 0, BF
- LINE (165, 110)-(120, 120), 20, BF
- LINE (95, 130)-(105, 136), 0, BF
- LINE (86, 145)-(40, 155), 20, BF
- LINE (65, 130)-(75, 194), 20, BF
- LINE (15, 130)-(25, 136), 0, BF
- LINE (40, 105)-(46, 115), 0, BF
- LINE (55, 90)-(65, 96), 0, BF
- LINE (80, 65)-(125, 75), 20, BF
- LINE (136, 90)-(146, 96), 0, BF
- LINE (135, 130)-(145, 136), 0, BF
- LINE (130, 154)-(155, 194), 20, BF
- PSET (142, 157), 0
- DRAW "e1 l2 h1 r4 e1 l7 f4 e4"
- LINE (135, 50)-(145, 56), 0, BF
- LINE (200, 25)-(206, 35), 0, BF
- FOR t = 1 TO 3
- ron(t) = 1
- rx(t) = 178
- ry(t) = 105
- NEXT t
- GOTO levend
- lev20:
- tx = 15
- ty = 20
- tdir = 2
- gx = 118
- gy = 20
- rshspd = 5
- LINE (5, 30)-(65, 90), 16
- LINE (5, 35)-(62, 92), 16
- LINE (65, 90)-(62, 92), 16
- PAINT (7, 34), 16, 16
- LINE (30, 15)-(107, 92), 16
- LINE (35, 15)-(110, 90), 16
- LINE (110, 90)-(65, 135), 16
- PAINT (37, 19), 16, 16
- LINE (65, 135)-(25, 95), 16
- LINE (25, 95)-(28, 92), 16
- LINE (28, 92)-(65, 129), 16
- LINE (65, 129)-(105, 89), 16
- PAINT (28, 93), 16, 16
- LINE (25, 95)-(29, 180), 16, BF
- CIRCLE (130, 180), 100, 16, 0, 3.14, .5
- CIRCLE (130, 180), 90, 16, 0, 3.14, .48
- LINE (29, 180)-(40, 180), 16
- LINE (220, 180)-(230, 180), 16
- PAINT (130, 135), 20, 16
- CIRCLE (130, 180), 90, 20, 0, 3.14, .48
- CIRCLE (130, 190), 70, 16, , , .4
- PAINT (130, 180), 20, 16
- CIRCLE (130, 190), 70, 20, 6.15, 3.3, .4
- LINE (128, 162)-(132, 200), 16, BF
- LINE (62, 41)-(320, 47), 16, BF
- LINE (240, 41)-(290, 47), 0, BF
- LINE (5, 180)-(40, 180), 20
- LINE (70, 15)-(70, 40), 16
- PAINT (60, 20), 20, 16
- LINE (70, 15)-(70, 40), 0
- CALL gucko(200, 60, 300, 63)
- CALL gucko(200, 47, 220, 60)
- FOR t = 1 TO 3
- hon(t) = 1
- hx1(t) = 7
- hx2(t) = 120
- hx(t) = 100
- hy(t) = 40 + (t * 22)
- hz(t) = 3 - (t / 3)
- NEXT t
- hon(4) = 2
- hx1(4) = 7
- hx2(4) = 300
- hx(4) = 100
- hy(4) = 140
- hz(4) = 1
- von(1) = 1
- vy1(1) = 100
- vy2(1) = 190
- vy(1) = 150
- vx(1) = 200
- vw(1) = 1
- FOR t = 1 TO 3
- ron(t) = 1
- NEXT t
- rx(1) = 15
- ry(1) = 130
- rx(2) = 80
- ry(2) = 20
- rx(3) = 300
- ry(3) = 170
- GOTO levend
- levend:
- fadeon
- IF tdir = 1 THEN PUT (tx, ty), tanku
- IF tdir = 2 THEN PUT (tx, ty), tankr
- IF tdir = 3 THEN PUT (tx, ty), tankd
- IF tdir = 4 THEN PUT (tx, ty), tankl
- FOR t = 1 TO 5
- IF hon(t) = 1 THEN PUT (hx(t), hy(t)), hwall
- IF hon(t) = 2 THEN PUT (hx(t), hy(t)), vwall
- IF von(t) = 1 THEN PUT (vx(t), vy(t)), hwall
- IF von(t) = 2 THEN PUT (vx(t), vy(t)), vwall
- IF ron(t) = 1 THEN PUT (rx(t), ry(t)), robot
- NEXT t
- PUT (gx, gy), gl
- COLOR 15
- LOCATE 1, 1
- PRINT "Level"; level
- LOCATE 1, 13
- PRINT "Tanks"; lives
- LOCATE 1, 25
- PRINT "Score"; score
- FOR t = 1 TO 20
- a$ = INKEY$
- NEXT t
- END SUB
- SUB moverobot
- FOR t = 1 TO 5
- IF ron(t) = 1 THEN ELSE GOTO robotend
- rwalk(t) = rwalk(t) - 1
- IF rwalk(t) < 0 THEN ELSE GOTO robotwalk
- rwalk(t) = CINT(RND * 10) + 2
- rdir(t) = CINT(RND * 3) + 1
- rw(t) = 0
- rz(t) = 0
- IF rdir(t) = 4 THEN rw(t) = -1
- IF rdir(t) = 3 THEN rz(t) = 1
- IF rdir(t) = 2 THEN rw(t) = 1
- IF rdir(t) = 1 THEN rz(t) = -1
- robotwalk:
- SELECT CASE rdir(t)
- CASE 4: p = POINT(rx(t) + 5, ry(t) - 1)
- CASE 3: p = POINT(rx(t) + 11, ry(t) + 7)
- CASE 2: p = POINT(rx(t) + 5, ry(t) + 16)
- CASE 1: p = POINT(rx(t) - 1, ry(t) + 7)
- END SELECT
- IF p = 0 THEN ELSE rwalk(t) = 0
- IF rwalk(t) = 0 THEN GOTO robotend ELSE
- PUT (rx(t), ry(t)), robot
- rx(t) = rx(t) + rz(t)
- ry(t) = ry(t) + rw(t)
- PUT (rx(t), ry(t)), robot
- robotend:
- NEXT t
- END SUB
- SUB movetank
- pauseplay
- a$ = UCASE$(INKEY$)
- IF a$ = CHR$(27) THEN quit = 1
- IF a$ = "C" THEN IF contmode = 1 THEN contmode = 2 ELSE contmode = 1
- otdir = tdir
- ogo = going
- IF icy = 1 THEN IF going = 1 THEN GOTO iced ELSE
- IF contmode = 1 THEN ELSE GOTO mode2
- IF a$ = CHR$(0) + "H" THEN going = 1
- IF a$ = CHR$(0) + "P" THEN going = 0
- IF guck = 1 THEN going = 0 ELSE
- findtdir
- IF a$ = CHR$(0) + "K" THEN tdir = tdir - 1
- IF a$ = CHR$(0) + "M" THEN tdir = tdir + 1
- IF tdir = 5 THEN tdir = 1
- IF tdir = 0 THEN tdir = 4
- GOTO movecont
- mode2:
- IF a$ = "A" THEN going = 1
- IF a$ = "Z" THEN going = 0
- IF guck = 1 THEN going = 0 ELSE
- findtdir
- IF a$ = CHR$(0) + "H" THEN tdir = 1
- IF a$ = CHR$(0) + "P" THEN tdir = 3
- IF a$ = CHR$(0) + "K" THEN tdir = 4
- IF a$ = CHR$(0) + "M" THEN tdir = 2
- movecont:
- IF a$ = " " THEN tshoot
- iced:
- icy = 0
- IF otdir = 1 THEN PUT (tx, ty), tanku
- IF otdir = 2 THEN PUT (tx, ty), tankr
- IF otdir = 3 THEN PUT (tx, ty), tankd
- IF otdir = 4 THEN PUT (tx, ty), tankl
- IF guck = 1 THEN GOTO skp
- tx = tx + tz
- ty = ty + tw
- skp:
- guck = 0
- IF tdir = 1 THEN PUT (tx, ty), tanku
- IF tdir = 2 THEN PUT (tx, ty), tankr
- IF tdir = 3 THEN PUT (tx, ty), tankd
- IF tdir = 4 THEN PUT (tx, ty), tankl
- SELECT CASE tdir
- CASE 1: p = POINT(tx, ty - 1)
- pp = POINT(tx + 10, ty - 1)
- CASE 2: p = POINT(tx + 11, ty)
- pp = POINT(tx + 11, ty + 10)
- CASE 3: p = POINT(tx, ty + 11)
- pp = POINT(tx + 10, ty + 11)
- CASE 4: p = POINT(tx - 1, ty)
- pp = POINT(tx - 1, ty + 10)
- END SELECT
- SELECT CASE p
- CASE 16: dead = 1
- CASE 17: guck = 1
- CASE 18: goal
- CASE 19: expmine 1
- CASE 20: icy = 1
- END SELECT
- SELECT CASE pp
- CASE 16: dead = 1
- CASE 17: guck = 1
- CASE 18: goal
- CASE 19: expmine 2
- CASE 20: icy = 1
- END SELECT
- IF tx > 308 THEN endl = 1
- END SUB
- SUB movewall
- FOR t = 1 TO 5
- IF hon(t) = 0 THEN GOTO noh
- IF hon(t) = 1 THEN PUT (hx(t), hy(t)), hwall ELSE PUT (hx(t), hy(t)), vwall
- hx(t) = hx(t) + hz(t)
- IF hx(t) > hx2(t) THEN hz(t) = -hz(t)
- IF hx(t) < hx1(t) THEN hz(t) = -hz(t)
- IF hon(t) = 1 THEN PUT (hx(t), hy(t)), hwall ELSE PUT (hx(t), hy(t)), vwall
- noh:
- IF von(t) = 0 THEN GOTO nov
- IF von(t) = 1 THEN PUT (vx(t), vy(t)), hwall ELSE PUT (vx(t), vy(t)), vwall
- vy(t) = vy(t) + vw(t)
- IF vy(t) > vy2(t) THEN vw(t) = -vw(t)
- IF vy(t) < vy1(t) THEN vw(t) = -vw(t)
- IF von(t) = 1 THEN PUT (vx(t), vy(t)), hwall ELSE PUT (vx(t), vy(t)), vwall
- nov:
- NEXT t
- END SUB
- SUB mtbul
- FOR t = 1 TO 5
- IF bon(t) = 0 THEN ELSE GOTO yesbul
- FOR tt = 1 TO 10
- NEXT tt
- GOTO mtbend
- yesbul:
- FOR tt = 1 TO 5
- IF ron(tt) = 1 THEN ELSE GOTO noton
- IF ABS(bx(t) - (rx(tt) + 5)) < 7 THEN IF ABS(by(t) - (ry(tt) + 7)) < 9 THEN ron(tt) = 0
- IF ron(tt) = 0 THEN ELSE GOTO noton
- PUT (rx(tt), ry(tt)), robot
- FOR snd = 100 TO 1000 STEP 50
- SOUND snd, .03
- NEXT snd
- bon(t) = 0
- score = score + 500
- LOCATE 1, 25
- PRINT "Score"; score
- noton:
- NEXT tt
- IF bx(t) > 315 THEN bon(t) = 0
- p = POINT(bx(t) + bz(t), by(t) + bw(t))
- IF p = 16 THEN bon(t) = 0
- IF p = 20 THEN bon(t) = 0
- PUT (bx(t), by(t)), bul
- IF bon(t) = 1 THEN ELSE GOTO mtbend
- bx(t) = bx(t) + bz(t)
- by(t) = by(t) + bw(t)
- p = POINT(bx(t), by(t))
- IF p = 16 THEN bon(t) = 0
- IF p = 20 THEN bon(t) = 0
- IF bon(t) = 0 THEN ELSE PUT (bx(t), by(t)), bul
- mtbend:
- NEXT t
- END SUB
- SUB pauseplay
- 'FOR t = 1 TO 40000
- 'NEXT t
- t = TIMER + .01
- WHILE TIMER < t
- WEND
- END SUB
- SUB robotsht
- FOR t = 1 TO 5
- IF ron(t) = 1 THEN ELSE IF ron(t) = 0 THEN IF rbul(t) = 1 THEN ELSE GOTO rcont5 ELSE GOTO rcont5
- IF rbul(t) = 1 THEN GOTO rcont4 ELSE IF ABS(rx(t) - tx) < 7 THEN ELSE GOTO rcont2
- rbul(t) = 1
- IF ry(t) > ty THEN ELSE GOTO other1
- rbw(t) = -rshspd
- rbz(t) = 0
- rbx(t) = rx(t) + 5
- rby(t) = ry(t) - 1
- PUT (rbx(t), rby(t)), bul
- GOTO rcont4
- other1:
- rbw(t) = rshspd
- rbz(t) = 0
- rbx(t) = rx(t) + 5
- rby(t) = ry(t) + 16
- PUT (rbx(t), rby(t)), bul
- GOTO rcont4
- rcont2:
- IF rbul(t) = 1 THEN GOTO rcont4 ELSE IF ABS(ry(t) - ty) < 9 THEN ELSE GOTO rcont5
- rbul(t) = 1
- IF rx(t) > tx THEN ELSE GOTO other2
- rbw(t) = 0
- rbz(t) = -rshspd
- rbx(t) = rx(t) - 1
- rby(t) = ry(t) + 7
- PUT (rbx(t), rby(t)), bul
- GOTO rcont4
- other2:
- rbw(t) = 0
- rbz(t) = rshspd
- rbx(t) = rx(t) + 11
- rby(t) = ry(t) + 7
- PUT (rbx(t), rby(t)), bul
- rcont4:
- PUT (rbx(t), rby(t)), bul
- rbx(t) = rbx(t) + rbz(t)
- rby(t) = rby(t) + rbw(t)
- IF ABS(rbx(t) - (tx + 5)) <= 5 THEN IF ABS(rby(t) - (ty + 5)) <= 5 THEN dead = 1
- p = POINT(rbx(t), rby(t))
- IF p = 16 THEN rbul(t) = 0
- IF p = 20 THEN rbul(t) = 0
- IF ron(t) = 0 THEN IF rbul(t) = 0 THEN ron(t) = 2
- IF rbul(t) = 1 THEN PUT (rbx(t), rby(t)), bul ELSE
- rcont5:
- NEXT t
- END SUB
- SUB robul
- 'd = SQR(((x2 - 4) ^ 2) + ((y2 - 1) ^ 2))
- 'IF d < 400 THEN ELSE GOTO nofire1
- 'adbz1 = (ABS(x2 - 4)) * 7 / d
- 'adbw1 = (ABS(y2 - 4)) * 7 / d
- 'adbx1 = 4
- 'adby1 = 4
- 'adbon1 = 1
- 'PUT (adbx1, adby1), bul
- END SUB
- SUB rotbotcol
- red(21) = CINT(RND * 33) + 30
- blue(21) = CINT(RND * 33) + 30
- green(21) = CINT(RND * 33) + 30
- q = 21
- col
- END SUB
- SUB setup
- RANDOMIZE TIMER
- p$(1) = "l8o1aao2co1l16al8al16ao2l8do1ag"
- p$(2) = "gao2eo1l16al8al16al8o2fec"
- p$(3) = "o1ao2eao1agebap1"
- p$(4) = "l8o1aao2co1l16al8al16ao2l8do1ag"
- p$(5) = "gao2eo1l16al8al16al8o2fec"
- p$(6) = "o1ao2eao1agebap1"
- p$(7) = "p8o2l8eel16el8gl16gl8gg-g-g-eel16el8gl16gl8g-do1l4a"
- p$(8) = "l8o2cccl16cl8dddl16dl8deeel16dl8eel16dl8e"
- p$(9) = "p8o2l8eel16el8gl16gl8gg-g-g-eel16el8gl16gl8g-do1l4a"
- p$(10) = "l8o2cccl16cl8dddl16dl8deeel16dl8eel16dl8e"
- p$(11) = "l8o1aao2co1l16al8al16ao2l8do1ag"
- p$(12) = "gao2eo1l16al8al16al8o2fec"
- p$(13) = "o1ao2eao1agebap1"
- SCREEN 13
- FOR q = 16 TO 22
- red(q) = 0
- blue(q) = 0
- green(q) = 0
- col
- NEXT q
- PSET (0, 8), 8
- DRAW "u1 e1 r8 f1 g2 l7"
- PAINT (5, 7), 7, 8
- LINE (3, 3)-(6, 5), 1, BF
- PRESET (3, 3)
- PRESET (6, 3)
- LINE (7, 4)-(10, 4), 4
- GET (0, 0)-(10, 9), tank2
- LINE (7, 4)-(10, 4), 0
- LINE (7, 4)-(10, 1), 4
- GET (0, 0)-(10, 9), tank3
- CLS
- LINE (0, 5)-(4, 9), 8
- PSET (1, 5), 8
- DRAW "e5 r1 f2 d1 g3 h2 f2 g2"
- PAINT (6, 2), 7, 8
- PAINT (3, 6), 15, 8
- GET (0, 0)-(9, 9), finbul
- CLS
- LINE (0, 0)-(1, 10), 8, B
- LINE (9, 0)-(10, 10), 8, B
- LINE (2, 1)-(8, 9), 7, BF
- LINE (5, 5)-(5, 0), 4
- CIRCLE (5, 5), 2, 1
- PAINT (5, 6), 1, 1
- GET (0, 0)-(10, 10), tanku
- CLS
- LINE (0, 0)-(1, 10), 8, B
- LINE (9, 0)-(10, 10), 8, B
- LINE (2, 1)-(8, 9), 7, BF
- LINE (5, 5)-(5, 10), 4
- CIRCLE (5, 5), 2, 1
- PAINT (5, 5), 1, 1
- GET (0, 0)-(10, 10), tankd
- CLS
- LINE (0, 0)-(10, 1), 8, B
- LINE (0, 10)-(10, 9), 8, B
- LINE (1, 2)-(9, 8), 7, BF
- LINE (5, 5)-(0, 5), 4
- CIRCLE (5, 5), 2, 1
- PAINT (5, 5), 1, 1
- GET (0, 0)-(10, 10), tankl
- CLS
- LINE (0, 0)-(10, 1), 8, B
- LINE (0, 10)-(10, 9), 8, B
- LINE (1, 2)-(9, 8), 7, BF
- LINE (5, 5)-(10, 5), 4
- CIRCLE (5, 5), 2, 1
- PAINT (5, 5), 1, 1
- GET (0, 0)-(10, 10), tankr
- CLS
- PSET (0, 0), 14
- GET (0, 0)-(0, 0), bul
- CLS
- LINE (0, 0)-(20, 4), 16, BF
- GET (0, 0)-(20, 4), hwall
- CLS
- LINE (0, 0)-(4, 20), 16, BF
- GET (0, 0)-(4, 20), vwall
- CLS
- PSET (5, 0), 18
- DRAW "f5 g5 h5 e5"
- PAINT (5, 5), 18, 18
- GET (0, 0)-(10, 10), gl
- CLS
- CIRCLE (2, 2), 2, 19
- PAINT (2, 2), 19, 19
- GET (0, 0)-(5, 5), mine
- CLS
- 'robot colors
- r(21) = CINT(RND * 33) + 30
- B(21) = CINT(RND * 33) + 30
- g(21) = CINT(RND * 33) + 30
- r(22) = 63
- B(22) = 0
- g(22) = 0
- r(23) = 0
- B(23) = 0
- g(23) = 50
- r(24) = 0
- B(24) = 0
- g(24) = 40
- r(25) = 10
- B(25) = 10
- g(25) = 50
- r(26) = 30
- B(26) = 30
- g(26) = 55
- r(27) = 20
- B(27) = 20
- g(27) = 63
- r(28) = 30
- B(28) = 0
- g(28) = 60
- r(29) = 50
- B(29) = 0
- g(29) = 30
- FOR q = 21 TO 30
- red(q) = r(q)
- blue(q) = B(q)
- green(q) = g(q)
- col
- NEXT q
- '*********** ROBOT *************
- 'head
- LINE (1, 0)-(9, 4), 23, B
- PSET (0, 2), 22
- PSET (10, 2), 22
- PRESET (1, 0)
- PRESET (9, 0)
- LINE (3, 2)-(7, 2), 21
- 'arms
- LINE (0, 7)-(0, 11), 27, B
- LINE (10, 7)-(10, 11), 27, B
- PSET (1, 7), 26
- PSET (9, 7), 26
- 'body
- LINE (3, 5)-(7, 5), 24
- LINE (2, 6)-(8, 13), 25, BF
- PSET (1, 13), 26
- PSET (9, 13), 26
- LINE (0, 14)-(10, 14), 28
- LINE (1, 15)-(2, 15), 29
- LINE (8, 15)-(9, 15), 29
- GET (0, 0)-(10, 15), robot
- CLS
- LINE (4, 0)-(5, 10), 8, B
- GET (0, 0)-(10, 10), wheel1
- CLS
- LINE (9, 1)-(1, 9), 8
- LINE (8, 1)-(1, 8), 8
- LINE (9, 2)-(2, 9), 8
- GET (0, 0)-(10, 10), wheel2
- CLS
- LINE (0, 4)-(10, 5), 8, B
- GET (0, 0)-(10, 10), wheel3
- CLS
- LINE (1, 1)-(9, 9), 8
- LINE (1, 2)-(8, 9), 8
- LINE (2, 1)-(9, 8), 8
- GET (0, 0)-(10, 10), wheel4
- CLS
- LINE (4, 3)-(6, 7), 1, BF
- LINE (3, 4)-(7, 6), 1, BF
- GET (0, 0)-(10, 10), dome
- CLS
- LINE (0, 1)-(2, 1), 4
- GET (0, 0)-(2, 2), can1
- CLS
- LINE (1, 0)-(1, 2), 4
- GET (0, 0)-(2, 2), can2
- CLS
- PSET (8, 9), 4
- DRAW "l6 h1 u1 h1 u1 e3 u1 d1 f1 r1 e2 d2 f2 d3"
- PAINT (5, 5), 12, 4
- GET (0, 0)-(9, 9), fire1
- CLS
- PSET (7, 9), 4
- DRAW "l5 h2 u1 e3 f1 r1 e2 u2 d1 f1 d1 f1 d2 g1 d1"
- PAINT (5, 5), 12, 4
- PSET (1, 1), 4
- PSET (1, 2), 4
- GET (0, 0)-(9, 9), fire3
- CLS
- PSET (6, 9), 4
- DRAW "l4 h2 u2 e1 u2 e1 f2 d1 r1 e1 u1 e1 r1 f1 d1 g1 d3 g1"
- PAINT (5, 5), 12, 4
- GET (0, 0)-(9, 9), fire2
- CLS
- r(16) = 60
- B(16) = 0
- g(16) = 0
- r(17) = 30
- B(17) = 0
- g(17) = 30
- r(18) = 60
- B(18) = 60
- g(18) = 0
- r(19) = 12
- B(19) = 12
- g(19) = 12
- r(20) = 40
- B(20) = 60
- g(20) = 60
- level = 1
- END SUB
- SUB title
- SCREEN 13
- quit = 0
- start:
- tim$ = TIME$
- CLS
- FOR q = 30 TO 50
- red(q) = 0
- blue(q) = 0
- green(q) = 0
- col
- NEXT q
- red(39) = 63
- red(38) = 59
- red(37) = 55
- blue(39) = 63
- blue(38) = 59
- blue(37) = 55
- green(39) = 63
- green(38) = 59
- green(37) = 55
- FOR q = 37 TO 39
- col
- NEXT q
- COLOR 40
- LOCATE 22, 8
- PRINT "Written by Jack Thomson"
- CIRCLE (146, 171), 120, 41, , , .1
- y = 5
- x = -7
- LINE (80 + x, 10 + y)-(310 + x, 10 + y), 50
- LINE (80 + x, 10 + y)-(70 + x, 30 + y), 50
- LINE (310 + x, 10 + y)-(300 + x, 30 + y), 50
- LINE (70 + x, 30 + y)-(300 + x, 30 + y), 50
- LINE (110 + x, 30 + y)-(60 + x, 130 + y), 50
- LINE (140 + x, 30 + y)-(90 + x, 130 + y), 50
- LINE (240 + x, 30 + y)-(190 + x, 130 + y), 50
- LINE (270 + x, 30 + y)-(220 + x, 130 + y), 50
- LINE (30 + x, 130 + y)-(260 + x, 130 + y), 50
- LINE (30 + x, 130 + y)-(20 + x, 150 + y), 50
- LINE (260 + x, 130 + y)-(250 + x, 150 + y), 50
- LINE (20 + x, 150 + y)-(250 + x, 150 + y), 50
- PAINT (100 + x, 20 + y), 50, 50
- PAINT (120 + x, 40 + y), 50, 50
- PAINT (40 + x, 140 + y), 50, 50
- PAINT (250 + x, 40 + y), 50, 50
- x = 15
- 'R
- LINE (10 + x, 30)-(10 + x, 80), 30
- LINE (10 + x, 80)-(20 + x, 80), 30
- LINE (20 + x, 80)-(20 + x, 60), 30
- LINE (20 + x, 60)-(45 + x, 60), 30
- DRAW "r1 f1 r1 f1 d1 f1"
- LINE (50 + x, 65)-(50 + x, 80), 30
- LINE (50 + x, 80)-(60 + x, 80), 30
- LINE (60 + x, 80)-(60 + x, 39), 30
- CIRCLE (50 + x, 38), 10, 30, 0, 1.57
- LINE (10 + x, 30)-(50 + x, 30), 30
- LINE (20 + x, 40)-(45 + x, 40), 30
- LINE (20 + x, 40)-(20 + x, 50), 30
- LINE (20 + x, 50)-(45 + x, 50), 30
- DRAW "e1 r1 e2 u4 h2 l1 h1"
- PAINT (20 + x, 35), 36, 30
- 'O
- LINE (70 + x, 38)-(70 + x, 72), 31
- LINE (80 + x, 30)-(110 + x, 30), 31
- LINE (120 + x, 38)-(120 + x, 72), 31
- LINE (110 + x, 80)-(80 + x, 80), 31
- CIRCLE (110 + x, 38), 10, 31, 0, 1.57
- CIRCLE (110 + x, 72), 10, 31, 4.71, 0
- CIRCLE (80 + x, 72), 10, 31, 3.14, 4.71
- CIRCLE (80 + x, 38), 10, 31, 1.57, 3.14
- LINE (80 + x, 40)-(110 + x, 70), 31, B
- PRESET (80 + x, 40)
- PRESET (110 + x, 40)
- PRESET (80 + x, 70)
- PRESET (110 + x, 70)
- PAINT (75 + x, 40), 36, 31
- 'B
- LINE (130 + x, 30)-(130 + x, 80), 32
- LINE (130 + x, 80)-(170 + x, 80), 32
- LINE (140 + x, 70)-(140 + x, 60), 32
- LINE (140 + x, 60)-(165 + x, 60), 32
- DRAW "f1 r1 f2 d4 g2 l1 g1"
- LINE (140 + x, 70)-(165 + x, 70), 32
- CIRCLE (170 + x, 38), 10, 32, 0, 1.57
- CIRCLE (170 + x, 72), 10, 32, 4.71, 0
- LINE (180 + x, 38)-(180 + x, 72), 32
- LINE (130 + x, 30)-(170 + x, 30), 32
- LINE (140 + x, 40)-(165 + x, 40), 32
- LINE (140 + x, 40)-(140 + x, 50), 32
- LINE (140 + x, 50)-(165 + x, 50), 32
- DRAW "e1 r1 e2 u4 h2 l1 h1"
- PAINT (140 + x, 35), 36, 32
- 'O
- LINE (190 + x, 38)-(190 + x, 72), 33
- LINE (200 + x, 30)-(230 + x, 30), 33
- LINE (240 + x, 38)-(240 + x, 72), 33
- LINE (230 + x, 80)-(200 + x, 80), 33
- CIRCLE (230 + x, 38), 10, 33, 0, 1.57
- CIRCLE (230 + x, 72), 10, 33, 4.71, 0
- CIRCLE (200 + x, 72), 10, 33, 3.14, 4.71
- CIRCLE (200 + x, 38), 10, 33, 1.57, 3.14
- LINE (200 + x, 40)-(230 + x, 70), 33, B
- PRESET (200 + x, 40)
- PRESET (230 + x, 40)
- PRESET (200 + x, 70)
- PRESET (230 + x, 70)
- PAINT (195 + x, 40), 36, 33
- 'T
- LINE (10 + x, 18)-(280 + x, 25), 34, B
- LINE (250 + x, 25)-(260 + x, 80), 34, B
- LINE (251 + x, 25)-(259 + x, 25), 0
- PAINT (20 + x, 20), 36, 34
- 'LINE (250 + x, 30)-(300 + x, 40), 34, B
- 'LINE (270 + x, 40)-(280 + x, 80), 34, B
- 'LINE (271 + x, 40)-(279 + x, 40), 0
- 'FOR q = 51 TO 57
- 'red(q) = 0
- 'col
- 'NEXT q
- x = 20
- y = 100
- 'A
- LINE (0 + x, 0 + y)-(0 + x, 39 + y), 30
- LINE (0 + x, 39 + y)-(8 + x, 39 + y), 30
- LINE (8 + x, 39 + y)-(8 + x, 29 + y), 30
- LINE (8 + x, 29 + y)-(31 + x, 29 + y), 30
- LINE (31 + x, 29 + y)-(31 + x, 39 + y), 30
- LINE (31 + x, 39 + y)-(39 + x, 39 + y), 30
- LINE (39 + x, 39 + y)-(39 + x, 0 + y), 30
- LINE (39 + x, 0 + y)-(0 + x, 0 + y), 30
- LINE (8 + x, 8 + y)-(31 + x, 21 + y), 30, B
- PAINT (5 + x, 5 + y), 36, 30
- 'T
- LINE (47 + x, 0 + y)-(87 + x, 8 + y), 31, B
- LINE (63 + x, 8 + y)-(71 + x, 39 + y), 31, B
- LINE (64 + x, 8 + y)-(70 + x, 8 + y), 0
- PAINT (50 + x, 5 + y), 36, 31
- 'T
- LINE (94 + x, 0 + y)-(134 + x, 8 + y), 32, B
- LINE (110 + x, 8 + y)-(118 + x, 39 + y), 32, B
- LINE (111 + x, 8 + y)-(117 + x, 8 + y), 0
- PAINT (97 + x, 5 + y), 36, 32
- 'A
- LINE (144 + x, 0 + y)-(144 + x, 39 + y), 33
- LINE (144 + x, 39 + y)-(152 + x, 39 + y), 33
- LINE (152 + x, 39 + y)-(152 + x, 29 + y), 33
- LINE (152 + x, 29 + y)-(175 + x, 29 + y), 33
- LINE (175 + x, 29 + y)-(175 + x, 39 + y), 33
- LINE (175 + x, 39 + y)-(183 + x, 39 + y), 33
- LINE (183 + x, 39 + y)-(183 + x, 0 + y), 33
- LINE (183 + x, 0 + y)-(144 + x, 0 + y), 33
- LINE (152 + x, 8 + y)-(175 + x, 21 + y), 33, B
- PAINT (147 + x, 5 + y), 36, 33
- 'C
- LINE (191 + x, 0 + y)-(191 + x, 39 + y), 34
- LINE (191 + x, 39 + y)-(230 + x, 39 + y), 34
- LINE (230 + x, 39 + y)-(230 + x, 31 + y), 34
- LINE (230 + x, 31 + y)-(199 + x, 31 + y), 34
- LINE (199 + x, 31 + y)-(199 + x, 8 + y), 34
- LINE (199 + x, 8 + y)-(230 + x, 8 + y), 34
- LINE (230 + x, 8 + y)-(230 + x, 0 + y), 34
- LINE (230 + x, 0 + y)-(191 + x, 0 + y), 34
- PAINT (194 + x, 5 + y), 36, 34
- 'K
- LINE (238 + x, 0 + y)-(238 + x, 39 + y), 35
- LINE (238 + x, 39 + y)-(246 + x, 39 + y), 35
- LINE (246 + x, 39 + y)-(246 + x, 22 + y), 35
- LINE (246 + x, 22 + y)-(269 + x, 22 + y), 35
- LINE (269 + x, 22 + y)-(269 + x, 39 + y), 35
- LINE (269 + x, 39 + y)-(277 + x, 39 + y), 35
- LINE (277 + x, 39 + y)-(277 + x, 14 + y), 35
- LINE (277 + x, 14 + y)-(271 + x, 14 + y), 35
- LINE (271 + x, 14 + y)-(271 + x, 0 + y), 35
- LINE (271 + x, 0 + y)-(263 + x, 0 + y), 35
- LINE (263 + x, 0 + y)-(263 + x, 14 + y), 35
- LINE (263 + x, 14 + y)-(246 + x, 14 + y), 35
- LINE (246 + x, 14 + y)-(246 + x, 0 + y), 35
- LINE (246 + x, 0 + y)-(238 + x, 0 + y), 35
- PAINT (241 + x, 5 + y), 36, 35
- 'underline
- LINE (x, 47 + y)-(277 + x, 53 + y), 35, B
- LINE (1 + x, 48 + y)-(276 + x, 52 + y), 36, BF
- r1 = 0
- r2 = -3
- r3 = -9
- r4 = -12
- r5 = -15
- r6 = -18
- the:
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- r1 = r1 + 1
- r2 = r2 + 1
- r3 = r3 + 1
- r4 = r4 + 1
- r5 = r5 + 1
- r6 = r6 + 1
- IF r1 > 0 THEN red(30) = red(30) + 1
- IF r2 > 0 THEN red(31) = red(31) + 1
- IF r3 > 0 THEN red(32) = red(32) + 1
- IF r4 > 0 THEN red(33) = red(33) + 1
- IF r5 > 0 THEN red(34) = red(34) + 1
- IF r6 > 0 THEN red(35) = red(35) + 1
- dopause
- FOR t = 30 TO 35
- IF red(t) > 50 THEN red(t) = 50
- NEXT t
- FOR q = 30 TO 35
- col
- NEXT q
- IF r6 > 60 THEN ELSE GOTO the
- q = 36
- FOR t = 1 TO 63
- red(36) = t
- col
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- dopause
- NEXT t
- SLEEP 3
- FOR t = 1 TO 50
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- q = 50
- red(50) = t
- blue(50) = t
- green(50) = t
- col
- dopause
- NEXT t
- FOR t = 51 TO 63
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- red(50) = t
- blue(50) = t
- green(50) = t
- col
- dopause
- NEXT t
- FOR t = 62 TO 50 STEP -1
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- red(50) = t
- blue(50) = t
- green(50) = t
- col
- dopause
- NEXT t
- q = 41
- FOR t = 1 TO 63
- red(41) = t
- 'blue(41) = t
- 'green(41) = t
- col
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- dopause
- NEXT t
- q = 40
- FOR t = 1 TO 63
- red(40) = t
- blue(40) = t
- green(40) = t
- col
- a$ = INKEY$
- IF a$ = "" THEN ELSE GOTO faster
- dopause
- NEXT t
- faster:
- ' ROBOT outline
- FOR q = 30 TO 35
- red(q) = 50
- col
- NEXT q
- q = 40
- red(q) = 63
- blue(q) = 63
- green(q) = 63
- col
- q = 41
- red(q) = 63
- col
- q = 36
- red(36) = 63
- col
- q = 50
- red(50) = 50
- blue(50) = 50
- green(50) = 50
- col
- PUT (280, 170), robot
- ' ATTACK
- 'x = 50
- 'y = 100
- 'LINE (0 + x, 39 + y)-(39 + x, 0 + y), 51
- 'LINE (39 + x, 0 + y)-(39 + x, 39 + y), 52
- 'LINE (20 + x, 19 + y)-(38 + x, 19 + y), 53
- 'LINE (49 + x, 9 + y)-(129 + x, 9 + y), 56
- 'LINE (45 + x, 39 + y)-(64 + x, 0 + y), 54
- 'LINE (59 + x, 39 + y)-(79 + x, 0 + y), 55
- 'LINE (69 + x, 39 + y)-(79 + x, 20 + y), 57
- 'LINE (84 + x, 39 + y)-(70 + x, 39 + y), 57
- 'LINE (79 + x, 20 + y)-(94 + x, 20 + y), 58
- 'LINE (94 + x, 20 + y)-(84 + x, 39 + y), 58
- 'LINE (87 + x, 34 + y)-(89 + x, 39 + y), 59
- 'LINE (95 + x, 39 + y)-(105 + x, 20 + y), 60
- 'LINE (106 + x, 20 + y)-(124 + x, 20 + y), 61
- 'LINE (96 + x, 39 + y)-(114 + x, 39 + y), 61
- 'LINE (125 + x, 39 + y)-(145 + x, 0 + y), 62
- 'LINE (135 + x, 20 + y)-(149 + x, 20 + y), 63
- 'LINE (135 + x, 21 + y)-(144 + x, 39 + y), 64
- LOCATE 1, 12
- PRINT "Press F1 for Help"
- here:
- spx = CINT(RND * 300) + 10
- spy = CINT(RND * 140) + 10
- p = POINT(spx, spy)
- IF p = 50 THEN ELSE GOTO nospark
- ERASE spbox
- GET (spx - 2, spy - 2)-(spx + 2, spy + 2), spbox
- PSET (spx, spy), 39
- dopause
- CIRCLE (spx, spy), 1, 38
- dopause
- PSET (spx + 2, spy), 37
- PSET (spx - 2, spy), 37
- PSET (spx, spy + 2), 37
- PSET (spx, spy - 2), 37
- dopause
- LINE (spx - 2, spy - 2)-(spx + 2, spy + 2), 0, BF
- PUT (spx - 2, spy - 2), spbox
- nospark:
- a$ = INKEY$
- SELECT CASE a$
- CASE CHR$(0) + CHR$(59): help
- GOTO start
- CASE CHR$(0) + CHR$(60): GOTO contt
- CASE CHR$(27): doend
- CASE "": GOTO uhb
- END SELECT
- uhb:
- 'cnt = cnt + 1
- 'IF cnt > 1300 THEN GOTO start
- IF RIGHT$(tim$, 2) = RIGHT$(TIME$, 2) THEN GOTO start
- GOTO here
- contt:
- END SUB
- SUB tshoot
- FOR t = 1 TO 5
- IF bon(t) = 0 THEN newb = t
- IF newb = t THEN t = 5
- NEXT t
- IF newb = 0 THEN GOTO tshend ELSE
- IF going = 0 THEN ELSE GOTO sh2
- bw(newb) = 0
- bz(newb) = 0
- IF tdir = 1 THEN bw(newb) = -2
- IF tdir = 2 THEN bz(newb) = 2
- IF tdir = 3 THEN bw(newb) = 2
- IF tdir = 4 THEN bz(newb) = -2
- bx(newb) = (tx + 5) + (bz(newb) * 3)
- by(newb) = (ty + 5) + (bw(newb) * 3)
- GOTO sh3
- sh2:
- bx(newb) = (tx + 5) + (tz * 7)
- by(newb) = (ty + 5) + (tw * 7)
- bz(newb) = tz * 3
- bw(newb) = tw * 3
- sh3:
- PUT (bx(newb), by(newb)), bul
- bon(newb) = 1
- tshend:
- END SUB
- SUB winning
- CLS
- 'GOTO ennd
- FOR t = 21 TO 50
- red(t) = 0
- blue(t) = 0
- green(t) = 0
- NEXT t
- red(30) = 30
- blue(30) = 30
- green(30) = 30
- FOR q = 31 TO 33
- red(q) = 20 - ((q - 31) * 3)
- blue(q) = 20 - ((q - 31) * 3)
- green(q) = 20 - ((q - 31) * 3)
- NEXT q
- FOR q = 30 TO 40
- col
- NEXT q
- 'body
- LINE (190, 45)-(240, 100), 30, B
- LINE (244, 32)-(258, 32), 30
- LINE (258, 32)-(240, 45), 30
- LINE (205, 34)-(190, 45), 30
- LINE (258, 32)-(258, 41), 30
- LINE (247, 95)-(240, 100), 30
- 'head
- LINE (206, 10)-(213, 5), 30
- LINE (213, 5)-(243, 5), 30
- LINE (243, 5)-(243, 35), 30
- LINE (243, 35)-(236, 40), 30
- LINE (243, 5)-(236, 10), 30
- LINE (206, 10)-(236, 40), 30, B
- 'arm (left)
- LINE (180, 47)-(190, 94), 30, B
- LINE (180, 47)-(187, 42), 30
- LINE (187, 42)-(193, 42), 30
- 'arm (right)
- LINE (246, 47)-(256, 94), 30, B
- LINE (256, 94)-(263, 89), 30
- LINE (256, 47)-(263, 42), 30
- LINE (246, 47)-(253, 42), 30
- LINE (253, 42)-(263, 42), 30
- LINE (263, 42)-(263, 89), 30
- 'legs
- LINE (197, 100)-(237, 150), 30, B
- LINE (237, 150)-(248, 142), 30
- LINE (248, 142)-(248, 94), 30
- LINE (214, 100)-(220, 150), 30, B
- LINE (215, 150)-(219, 150), 0
- LINE (214, 150)-(219, 146), 30
- 'feet
- LINE (194, 153)-(211, 160), 30, B
- LINE (194, 153)-(198, 150), 30
- LINE (211, 153)-(215, 150), 30
- LINE (211, 160)-(217, 156), 30
- LINE (217, 153)-(234, 160), 30, B
- LINE (217, 153)-(221, 150), 30
- LINE (234, 153)-(238, 150), 30
- LINE (234, 160)-(248, 149), 30
- LINE (248, 149)-(248, 140), 30
- 'body (paint)
- PAINT (195, 47), 31, 30
- PAINT (195, 43), 32, 30
- PAINT (245, 45), 32, 30
- 'head (paint)
- PAINT (240, 20), 32, 30
- PAINT (230, 20), 31, 30
- PAINT (230, 7), 32, 30
- 'arm (right, paint)
- PAINT (247, 48), 31, 30
- PAINT (258, 48), 32, 30
- PAINT (250, 46), 32, 30
- 'arm (left, paint)
- PAINT (185, 50), 31, 30
- PAINT (185, 45), 32, 30
- 'legs (paint)
- PAINT (200, 105), 31, 30
- PAINT (217, 105), 33, 30
- PAINT (225, 105), 31, 30
- PAINT (240, 105), 33, 30
- 'feet (paint)
- PAINT (195, 154), 31, 30
- PAINT (218, 154), 31, 30
- PAINT (196, 152), 32, 30
- PAINT (219, 152), 32, 30
- PAINT (212, 153), 33, 30
- PAINT (235, 153), 33, 30
- LINE (182, 80)-(188, 90), 7, BF
- RANDOMIZE TIMER
- FOR t = 1 TO 100
- PSET (CINT(RND * 6) + 182, CINT(RND * 10) + 80), CINT(RND * 14) + 1
- NEXT t
- FOR tt = 248 TO 254 STEP 2
- FOR t = 70 TO 85 STEP 2
- IF CINT(RND * 2) = 0 THEN PSET (tt, t), 10 ELSE PSET (tt, t), 12
- NEXT t
- NEXT tt
- LINE (192, 47)-(220, 65), 4, B
- LINE (193, 48)-(219, 64), 8, BF
- FOR t = 195 TO 217 STEP 5
- CIRCLE (t, 70), 1, 2
- NEXT t
- LINE (195, 80)-(230, 95), 7, B
- PSET (229, 88), 4
- DRAW "l7 d5 l7 d1"
- PSET (196, 85), 15
- DRAW "r5 d2 r7 u4 l3 u2"
- PSET (219, 81), 14
- DRAW "d8 l16 u4 r26"
- PSET (197, 81), 9
- DRAW "d12 r15 u6 r6"
- PSET STEP(2, 0), 9
- DRAW "r4 u6"
- PSET (225, 94), 15
- DRAW "u3 l29"
- FOR t = 50 TO 72 STEP 6
- LINE (232, t)-(235, t + 3), 10, BF
- NEXT t
- FOR t = 50 TO 72 STEP 6
- LINE (225, t)-(228, t + 3), 10, BF
- NEXT t
- 'face
- LINE (212, 18)-(216, 22), 15, BF
- LINE (226, 18)-(230, 22), 15, BF
- LINE (213, 33)-(229, 33), 15
- LINE (213, 19)-(215, 21), 0, BF
- LINE (227, 19)-(229, 21), 0, BF
- pauseplay
- '******
- PUT (0, 150), tank2
- FOR tx = 1 TO 70
- PUT (tx - 1, 150), tank2
- PUT (tx, 150), tank2
- 'FOR t = 1 TO 150
- 'NEXT t
- pauseplay
- NEXT tx
- LINE (213, 19)-(215, 21), 15, BF
- LINE (227, 19)-(229, 21), 15, BF
- LINE (212, 20)-(214, 22), 0, BF
- LINE (226, 20)-(228, 22), 0, BF
- FOR tx = 71 TO 100
- PUT (tx - 1, 150), tank2
- PUT (tx, 150), tank2
- 'FOR t = 1 TO 150
- 'NEXT t
- pauseplay
- NEXT tx
- 'FOR t = 1 TO 2000
- 'NEXT t
- pauseplay
- PUT (tx - 1, 150), tank2
- PUT (tx - 1, 150), tank3
- 'FOR t = 1 TO 2000
- 'NEXT t
- pauseplay
- '******
- LINE (213, 33)-(229, 33), 31
- LINE (216, 32)-(226, 35), 15, B
- '******
- pauseplay
- x = 106
- y = 146
- PUT (x, y), finbul
- FOR t = 1 TO 10
- PUT (x, y), finbul
- x = x + 1
- y = y - 1
- PUT (x, y), finbul
- 'FOR tt = 1 TO 200
- 'NEXT tt
- pauseplay
- NEXT t
- LINE (207, 11)-(235, 39), 31, BF
- LINE (210, 16)-(218, 24), 15, BF
- LINE (224, 16)-(232, 24), 15, BF
- 'LINE (212, 20)-(214, 22), 0, BF
- 'LINE (226, 20)-(228, 22), 0, BF
- LINE (213, 19)-(215, 21), 0, BF
- LINE (227, 19)-(229, 21), 0, BF
- LINE (215, 31)-(227, 37), 15, B
- FOR t = 11 TO 50
- PUT (x, y), finbul
- x = x + 1
- y = y - 1
- PUT (x, y), finbul
- 'FOR tt = 1 TO 200
- 'NEXT tt
- pauseplay
- NEXT t
- '******
- LINE (207, 11)-(235, 39), 31, BF
- LINE (210, 20)-(218, 20), 15
- LINE (224, 20)-(232, 20), 15
- LINE (214, 32)-(228, 35), 15, B
- LINE (215, 35)-(227, 35), 31
- FOR t = 51 TO 66
- PUT (x, y), finbul
- x = x + 1
- y = y - 1
- PUT (x, y), finbul
- 'FOR tt = 1 TO 200
- 'NEXT tt
- pauseplay
- NEXT t
- PUT (x, y), finbul
- PUT (x, y), fire1
- 'FOR t = 1 TO 700
- 'NEXT t
- pauseplay
- PUT (x, y), fire1
- PUT (x, y), fire2
- 'FOR t = 1 TO 700
- 'NEXT t
- pauseplay
- PUT (x, y), fire2
- PUT (x, y), fire3
- 'FOR t = 1 TO 700
- 'NEXT t
- pauseplay
- PUT (x, y), fire3
- red(34) = 30
- blue(34) = 60
- green(34) = 30
- q = 34
- col
- FOR t = 1 TO 7
- PSET (180, 35 + (t * 8)), 34
- FOR r = 1 TO 41
- f = CINT(RND * 8)
- IF f = 0 THEN DRAW "e1 e1"
- IF f = 1 THEN DRAW "r1 e1"
- IF f = 2 THEN DRAW "f1 e1"
- IF f = 3 THEN DRAW "e1 r1"
- IF f = 4 THEN DRAW "r1 r1"
- IF f = 5 THEN DRAW "f1 r1"
- IF f = 6 THEN DRAW "e1 f1"
- IF f = 7 THEN DRAW "r1 f1"
- IF f = 8 THEN DRAW "f1 f1"
- NEXT r
- NEXT t
- q = 34
- t = TIMER + 4
- DO
- red(34) = CINT(RND * 60) + 3
- blue(34) = CINT(RND * 60) + 3
- green(34) = CINT(RND * 60) + 3
- col
- LOOP UNTIL TIMER >= t
- FOR t = 1 TO 100
- a$ = INKEY$
- NEXT t
- DO
- COLOR 15
- LOCATE 1
- PRINT "You have won Robot"
- PRINT "Attack II! Thanks"
- PRINT "to you, the Earth"
- PRINT "will remain free"
- PRINT "from the robots..."
- PRINT
- PRINT "Press any key"
- PRINT "to continue..."
- red(34) = CINT(RND * 60) + 3
- blue(34) = CINT(RND * 60) + 3
- green(34) = CINT(RND * 60) + 3
- col
- LOOP WHILE INKEY$ = ""
- ennd:
- CLS
- red(30) = 0
- blue(30) = 0
- green(30) = 0
- q = 30
- col
- SCREEN 13
- COLOR 30
- LOCATE 10, 16
- PRINT "The End"
- FOR t = 1 TO 60
- blue(30) = t
- col
- 'FOR tt = 1 TO 100
- 'NEXT tt
- pauseplay
- NEXT t
- SLEEP 4
- FOR t = 60 TO 1 STEP -1
- blue(30) = t
- col
- FOR tt = 1 TO 50
- NEXT tt
- NEXT t
- 'FOR t = 1 TO 3000
- 'NEXT t
- pauseplay
- CLS
- PUT (140, 40), robot
- PUT (110, 45), robot
- PUT (170, 45), robot
- FOR tt = 1 TO 5
- FOR t = 100 TO 5000 STEP 100
- SOUND t, .03
- SOUND 1000, .03
- NEXT t
- NEXT tt
- LOCATE 10, 12
- COLOR 30
- PRINT "...OR IS IT ???"
- FOR t = 1 TO 60
- red(30) = t
- col
- 'FOR tt = 1 TO 150
- 'NEXT tt
- pauseplay
- NEXT t
- SLEEP 2
- FOR t = 60 TO 1 STEP -1
- red(30) = t
- col
- 'FOR tt = 1 TO 150
- 'NEXT tt
- pauseplay
- NEXT t
- CLS
- COLOR 15
- END SUB
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement