Mad Dog Tank Blaster

Developer(s): Thomas B. Woods
Date: 198x
Type: Program
Platform(s): TS 1000

The enemy tank commander has gone mad. He is shooting wildly in all directions. You must destroy him before you run out of time, get shot, or run down.

Content

Appears On

One individual’s cassette containing a number of programs.

Related Products

Play vs computer controlled tank. Move your man, plant mines and avoid the tank. Tank shoots or can run you...

Related Articles

Related Content

Image Gallery

Mad Dog Tank Blaster

Source Code

   1 LET TANK=0
   2 LET YOU=0
   4 LET Q=5
   5 LET M=0
   6 LET T=0
   7 DIM S(19,29)
   8 LET Z=1
  10 LET P=18
  12 LET L=26
  13 LET S(P,L)=2
  15 PRINT AT 6,10;"MAD DOG"
  17 PRINT AT 8,5;"TANK BLASTER"
  20 PRINT AT 11,2;"\:.\:.\:.\:.\:.\..\..\..\..\..\..\..\.."
  22 PRINT AT 12,2;"% % % % % "
  25 PRINT AT 13,0;"\'.% % % % % % % % % \.'"
  27 PRINT AT 14,1;"\'.\:.\:.\:.\:.\:.\:.\:.\.'"
  30 PRINT AT 18,2;"BY TOM WOODS"
  32 PAUSE 100
  35 PRINT AT 10,14;"**"
  37 PRINT AT 11,14;"* **"
  40 PRINT AT 12,14;"  *"
  50 PRINT AT 11,14;"    "
  53 PRINT AT 10,14;"   "
  54 PRINT AT 12,14;"   "
  70 CLS 
  85 IF TANK>0 OR YOU>0 THEN GOTO 97
  89 PRINT AT 3,0;"THE ENEMY TANK COMMANDER HAS    GONE MAD. HE IS SHOOTING WILDLY IN ALL DIRECTIONS. YOU MUST     DESTROY HIM BEFORE YOU RUN OUT  OF TIME, GET SHOT, OR RUN DOWN. USE THE ARROWS TO MANEUVER YOUR MAN. YOU CAN PLACE EACH OF YOUR 5 MINES BY PUSHING ""P""."
  90 PRINT AT 12,0;"HOLD THE KEY UNTIL YOU MOVE.    DON/T STEP ON YOUR OWN MINES.   GOOD LUCK AND WORK QUICKLY. YOU DON/T HAVE MUCH TIME.           HIT %E%N%T%E%R TO BEGIN."
  91 PRINT ,,"""%X""IS THE TANK","""%O""IS YOU"
  92 INPUT A$
  95 CLS 
  97 FAST 
 100 FOR Y=1 TO 29 STEP 2
 110 FOR X=1 TO 19 STEP 2
 120 PRINT AT X,Y;"% "
 130 NEXT X
 140 NEXT Y
 145 SLOW 
 150 LET X=4
 160 LET Y=4
 163 PRINT AT Y,X;"%X"
 165 PRINT AT P,L;"%O"
 170 LET K$="X"
 200 GOSUB 1000+INT (RND*4)*100
 605 LET T=T+1
 608 IF T=30 THEN GOTO 9200
 610 GOTO 190
 650 LET Q=1
 660 GOTO 9100
 690 IF S(Y,X)=1 THEN GOTO 9000
 700 FOR X=1 TO 3
 710 PRINT AT P,L;" "
 715 PRINT AT P,L;"%X"
 720 NEXT X
 750 PRINT AT P,2;"%Y%O%U% %G%O%T% %S%Q%U%A%S%H%E%D"
 760 LET Q=2
 999 GOTO 9127
\n1000 IF X>21 THEN GOTO 1100
\n1002 FOR X=X TO X+INT ((RND*3)+1)*2 STEP 2
\n1003 IF S(Y,X-2)=0 THEN PRINT AT Y,X-2;"  %X"
\n1010 IF S(Y,X)>0 THEN GOTO 690
\n1015 NEXT X
\n1017 LET X=X-2
\n1021 GOSUB 1030+INT (RND*4)*100
\n1030 FOR B=X+2 TO 28 STEP 5
\n1032 PRINT AT Y,B;"*"
\n1033 PRINT AT Y,B;" "
\n1034 IF S(Y,B)=1 THEN GOTO 8500
\n1037 IF Y=P THEN GOSUB 1060
\n1039 IF B>=L-2 THEN GOTO 7000
\n1050 NEXT B
\n1055 RETURN 
\n1060 IF ABS (L-B)<=1 THEN GOTO 9090
\n1065 RETURN 
\n1100 IF X<9 THEN GOTO 1000
\n1102 FOR X=X TO X-INT ((RND*3)+1)*2 STEP -2
\n1104 IF S(Y,X+2)=0 THEN PRINT AT Y,X;"%X  "
\n1110 IF S(Y,X)>0 THEN GOTO 690
\n1115 NEXT X
\n1120 LET X=X+2
\n1125 GOSUB 1030+INT (RND*4)*100
\n1130 FOR B=X-2 TO 2 STEP -5
\n1132 PRINT AT Y,B;"*"
\n1135 PRINT AT Y,B;" "
\n1140 IF S(Y,B)=1 THEN GOTO 8500
\n1142 IF Y=P THEN GOSUB 1060
\n1143 IF B<=L+2 THEN GOTO 7000
\n1150 NEXT B
\n1155 RETURN 
\n1200 IF Y>11 THEN GOTO 1300
\n1201 FOR Y=Y TO Y+INT ((RND*3)+1)*2 STEP 2
\n1203 IF S(Y-2,X)=0 THEN PRINT AT Y-2,X;" "
\n1205 PRINT AT Y,X;"%X"
\n1210 IF S(Y,X)>0 THEN GOTO 690
\n1220 NEXT Y
\n1225 LET Y=Y-2
\n1227 GOSUB 1030+INT (RND*4)*100
\n1230 FOR B=Y+2 TO 18 STEP 5
\n1235 PRINT AT B,X;"*"
\n1240 PRINT AT B,X;" "
\n1242 IF S(B,X)=1 THEN GOTO 8400
\n1243 IF X=L THEN GOSUB 1265
\n1244 IF B>=P-2 THEN GOTO 7950
\n1255 NEXT B
\n1260 RETURN 
\n1265 IF ABS (P-B)<=1 THEN GOTO 9090
\n1270 RETURN 
\n1300 IF Y<9 THEN GOTO 1200
\n1302 FOR Y=Y TO Y-INT ((RND*3)+1)*2 STEP -2
\n1305 IF S(Y+2,X)=0 THEN PRINT AT Y+2,X;" "
\n1307 PRINT AT Y,X;"%X"
\n1310 IF S(Y,X)>0 THEN GOTO 690
\n1320 NEXT Y
\n1322 LET Y=Y+2
\n1325 GOSUB 1030+INT (RND*4)*100
\n1330 FOR B=Y-2 TO 2 STEP -5
\n1335 PRINT AT B,X;"*"
\n1340 PRINT AT B,X;" "
\n1341 IF S(B,X)=1 THEN GOTO 8400
\n1342 IF X=L THEN GOSUB 1265
\n1343 IF B<=P+2 THEN GOTO 7950
\n1355 NEXT B
\n1360 RETURN 
\n2002 IF L$="P" THEN GOTO 3000
\n2003 IF L$<>"" THEN LET K$=L$
\n2004 IF CODE K$>=33 AND CODE K$<=36 THEN GOTO 2000+VAL K$*100
\n2005 RETURN 
\n2500 IF L<4 THEN RETURN 
\n2502 LET S(P,L)=0
\n2505 FOR L=L TO L-2 STEP -1
\n2510 PRINT AT P,L-1;" %O "
\n2520 NEXT L
\n2530 LET L=L+1
\n2535 IF S(P,L)=0 THEN LET S(P,L)=2
\n2540 GOTO 2840
\n2600 IF P>16 THEN RETURN 
\n2602 LET S(P,L)=0
\n2605 FOR P=P TO P+2
\n2610 PRINT AT P-1,L;" "
\n2620 PRINT AT P,L;"%O"
\n2630 NEXT P
\n2640 LET P=P-1
\n2645 IF S(P,L)=0 THEN LET S(P,L)=2
\n2650 GOTO 2840
\n2700 IF P<4 THEN RETURN 
\n2702 LET S(P,L)=0
\n2705 FOR P=P TO P-2 STEP -1
\n2710 PRINT AT P+1,L;" "
\n2720 PRINT AT P,L;"%O"
\n2730 NEXT P
\n2740 LET P=P+1
\n2745 IF S(P,L)=0 THEN LET S(P,L)=2
\n2750 GOTO 2840
\n2800 IF L>26 THEN RETURN 
\n2802 LET S(P,L)=0
\n2805 FOR L=L TO L+2
\n2810 PRINT AT P,L-1;" %O "
\n2830 NEXT L
\n2835 LET L=L-1
\n2836 IF S(P,L)=0 THEN LET S(P,L)=2
\n2840 IF S(Y,X)=2 THEN GOTO 700
\n2842 IF S(P,L)=2 THEN RETURN 
\n2845 IF S(P,L)=1 THEN GOTO 650
\n3000 LET M=M+1
\n3010 IF M<6 AND P>3 THEN LET S(P-2,L)=1
\n3030 IF M<6 AND P>3 THEN PRINT AT P-2,L;"\@@"
\n3050 LET K$="X"
\n3055 IF S(Y,X)=1 THEN GOTO 9000
\n3070 RETURN 
\n7000 IF S(Y,B-1)=1 OR S(Y,B)=1 OR S(Y,B+1)=1 THEN GOTO 8500
\n7700 PRINT AT Y-1,B-1;"** "
\n7710 PRINT AT Y,B-1;" * "
\n7720 PRINT AT Y+1,B-1;" **"
\n7730 PRINT AT Y-1,B-1;"%   "
\n7740 PRINT AT Y,B-1;"   "
\n7750 PRINT AT Y+1,B-1;"   "
\n7755 LET L$=INKEY$
\n7760 GOTO 2000
\n7950 IF S(B-1,X)=1 OR S(B,X)=1 OR S(B+1,X)=1 THEN GOTO 8400
\n7960 PRINT AT B-1,X-1;"** "
\n7965 PRINT AT B,X-1;" * "
\n7970 PRINT AT B+1,X-1;" **"
\n7975 PRINT AT B-1,X-1;"%   "
\n7980 PRINT AT B,X-1;"   "
\n7985 PRINT AT B+1,X-1;"   "
\n7987 LET L$=INKEY$
\n7990 GOTO 2000
\n8400 LET Z=Y
\n8410 LET Y=B
\n8420 LET B=X
\n8500 PRINT AT Y-1,B-1;"** "
\n8510 PRINT AT Y,B-1;" * "
\n8520 PRINT AT Y+1,B-1;" **"
\n8530 PRINT AT Y-1,B-1;"%   "
\n8540 PRINT AT Y,B-1;"   "
\n8550 PRINT AT Y+1,B-1;"   "
\n8551 FOR F=-1 TO 1
\n8552 LET S(Y+F,B)=0
\n8554 LET S(Y,B+F)=0
\n8560 NEXT F
\n8562 LET C=Y
\n8565 IF B=X THEN LET Y=Z
\n8567 LET L$=INKEY$
\n8570 IF Z<>0 THEN RETURN 
\n8580 GOTO 9020
\n9000 LET Z=0
\n9010 GOTO 8420
\n9020 PRINT AT C,2;"%Y%O%U% %G%O%T% %H%I%M% %W%I%T%H% %Y%O%U%R% %M%I%N%E"
\n9022 LET YOU=YOU+1
\n9023 LET Z$="MINE "
\n9024 IF M<>1 THEN LET Z$(5)="S"
\n9025 PAUSE 100
\n9027 CLS 
\n9028 IF T<10 THEN PRINT "IN JUST ";T;" MINUTES YOU BLASTED   THAT WILD TANK" 
\n9030 IF T>=10 THEN PRINT "IT TOOK SOME TIME BUT YOU       FINALLY GOT THE TANK"
\n9031 IF M<=3 THEN PRINT "AND YOU ONLY USED ";M;" ";Z$;" TO DO IT"
\n9032 IF M=4 OR M=5 THEN PRINT " IT TOOK ";M;"MINES---YOU NEED MORE PRACTICE"
\n9034 IF T>=20 THEN PRINT "YOU ONLY HAD ";30-T;" MINUTES LEFT"
\n9045 PRINT AT 7,0;"BECAUSE OF YOUR DARING AND SKILLYOU SHALL BE AWARDED THE MEDAL  OF HONOR."   
\n9046 IF TANK>YOU+1 THEN PRINT "ONLY ";TANK-YOU;" GAMES TO CATCH UP"
\n9050 GOTO 9400
\n9090 LET Q=0
\n9100 PRINT AT P-1,L-1;" **"
\n9105 PRINT AT P,L-1;"* **"
\n9110 PRINT AT P+1,L-1;"** *"
\n9120 IF Q=0 THEN PRINT AT P,L-1;"%Y%O%U%/%R%E% %S%H%O%T"
\n9125 IF Q=1 THEN PRINT AT P,2;"%Y%O%U% %R%A%N% %O%V%E%R% %Y%O%U%R% %O%W%N% %M%I%N%E"
\n9127 PAUSE 100
\n9200 CLS 
\n9201 LET TANK=TANK+1
\n9202 IF M=0 THEN PRINT "YOU DIDN/T GET A SINGLE MINE    PLANTED."
\n9203 IF Q=2 AND T<=10 THEN PRINT "YOU GOT RUN OVER AFTER JUST ";T;"   MINUTES."
\n9204 IF Q=0 AND T<=10 THEN PRINT "YOU GOT GUNNED DOWN IN ONLY ";T;"   MINUTES."
\n9206 IF M>1 AND Q=1 THEN LET A$="BUT "
\n9210 IF M>1 THEN PRINT AT 5,0;"THE ENEMY TANK AVOIDED ALL OF   YOUR MINES."
\n9212 IF Q=1 THEN PRINT A$;"BY RUNNING OVER YOUR OWN    MINE YOU MADE IT AWFUL EASY FOR THE TANK."
\n9213 LET A$=""
\n9214 IF Q=2 THEN PRINT "YOU MUST LEARN TO STAY OUT OF   THE WAY OF THAT TANK."
\n9215 IF Q=0 AND T<20 THEN PRINT "YOU LOSE"
\n9220 IF Q<>5 AND T>20 THEN PRINT "AT LEAST YOU MANAGED TO HOLD    OUT FOR ";T;" MINUTES"
\n9225 IF Q=5 THEN PRINT "FOR USING UP ALL YOUR TIME A    COURT MARTIAL IS BEING FILED"
\n9227 IF M=0 THEN PRINT "TRY USING A FEW MINES NEXT TIME.";
\n9230 IF M=0 AND T=30 THEN PRINT "AND DON/T FORGET ABOUT THE CLOCKAT THIS RATE YOU WON/T GET      ANYWHERE."
\n9240 IF TANK-YOU=4 THEN PRINT " THE TANK IS MAKING YOU LOOK BAD"
\n9400 PRINT AT 14,4;"SCORE: YOU-";YOU
\n9410 PRINT TAB 10;"TANK-";TANK
\n9450 IF YOU>TANK+8 THEN GOTO 9800
\n9500 PRINT AT 20,0;"PLAY AGAIN? HIT %E%N%T%E%R"
\n9600 INPUT Z$
\n9650 CLS 
\n9700 GOTO 3
\n9800 PRINT AT 20,0;"% %T%H%E% %T%A%N%K% %G%I%V%E%S% %U%P%-%-%Y%O%U% %W%I%N% "
\n9997 STOP 
\n9998 SAVE "TAN%K"
\n9999 RUN 
Scroll to Top