0 GRAPHICS 8:SCORE=0:KOMPUTER=0
1 Z=0.05
2 TRAJECTORY=1
3 PX1=INT(RND(0)*100)+1:PY1=INT(RND(0)*140)+10:PX2=300-INT(RND(0)*100)+1:PY2=INT(RND(0)*140)+10
10 REM ATARI TANKS GAME
11 REM PROGRAMMED BY MATEUSZ PAWLOSKI
13 COLOR 1
18 GRAPHICS 8:GOSUB 500:? "SPEED":INPUT V:? "ANGLE":INPUT A
19 A=((180-A)*3.14159)/180
20 FOR T=Z TO 30 STEP Z
21 X=V*T*COS(A)
22 Y=-(V*T*SIN(A)-((9.8*T*T)/2))
28 IF (X+PX2+5)<0 THEN GOTO 101
29 IF (Y+PY2-2)>160 THEN GOTO 101
30 IF X+PX2+5<0 OR X+PX2+5>319 THEN GOTO 100
31 IF Y+PY2-2<0 OR Y+PY2-2>159 THEN GOTO 100
90 PLOT X+PX2+5,PY2+Y-2
94 GOSUB 700
100 NEXT T
101 GOTO 900
500 REM DRAW TANKS
501 PLOT PX1,PY1:DRAWTO PX1+10,PY1
502 PLOT PX1-1,PY1+1:DRAWTO PX1+11,PY1+1
503 PLOT PX1,PY1+2:DRAWTO PX1+10,PY1+2
504 PLOT PX1+3,PY1-1:DRAWTO PX1+7,PY1-1
505 PLOT PX1+4,PY1-2:DRAWTO PX1+6,PY1-2
506 PLOT PX2,PY2:DRAWTO PX2+10,PY2
507 PLOT PX2-1,PY2+1:DRAWTO PX2+11,PY2+1
508 PLOT PX2,PY2+2:DRAWTO PX2+10,PY2+2
509 PLOT PX2+3,PY2-1:DRAWTO PX2+7,PY2-1
510 PLOT PX2+4,PY2-2:DRAWTO PX2+6,PY2-2
511 PLOT PX1+7,PY1-3
512 PLOT PX1+8,PY1-4
513 PLOT PX2+3,PY2-3
514 PLOT PX2+2,PY2-4
515 FOR P=0 TO KOMPUTER
516 IF P>0 THEN PLOT 10+P*4,2:DRAWTO 10+P*4,7
517 NEXT P
520 FOR P=0 TO SCORE
521 IF P>0 THEN PLOT 280+P*4,2:DRAWTO 280+P*4,7
522 NEXT P
600 RETURN 
700 REM COLLISION CHECK
701 IF (X+PX2)>PX1 AND (X+PX2)<(PX1+10) AND (Y+PY2)>(PY1-5) AND (Y+PY2)<(PY1+5) THEN SCORE=SCORE+1:GOTO 1
800 RETURN 
900 GRAPHICS 8:GOSUB 500:V=30:A2=0:GOSUB 2000
901 A=A2
902 FOR T=Z TO 30 STEP Z
903 X=V*T*COS(A)
904 Y=-(V*T*SIN(A)-((9.8*T*T)/2))
905 IF (X+PX1+5)<0 THEN GOTO 912
906 IF (Y+PY1-2)>160 THEN GOTO 912
907 IF X+PX1+5<0 OR X+PX1+5>319 THEN GOTO 911
908 IF Y+PY1-2<0 OR Y+PY1-2>159 THEN GOTO 911
909 PLOT X+PX1+5,PY1+Y-2
910 GOSUB 1000
911 NEXT T
912 GOTO 18
1000 REM COLLISION CHECK
1001 IF (X+PX1)>PX2 AND (X+PX1)<(PX2+10) AND (Y+PY1)>(PY2-5) AND (Y+PY1)<(PY2+5) THEN KOMPUTER=KOMPUTER+1:GOTO 1
1002 RETURN 
2000 REM CALCULATE ANGLE AND VELOCITY
2001 V=30
2002 DELTA=(PY1-PY2)
2003 DIST=(PX2-PX1)
2010 C1=((V*V*V*V)-9.8*((9.8*DIST*DIST)+(2*DELTA*V*V)))
2020 IF C1<0 THEN V=V+1:GOTO 2002
2030 C2=((V*V)+SQR(C1))/(9.8*DIST)
2040 A2=ATN(C2)
2100 RETURN 