home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / gwbasic / spiele / tankwar5.bas < prev    next >
Encoding:
BASIC Source File  |  1991-05-15  |  1.6 KB  |  59 lines

  1. 5 KEY OFF:CLEAR
  2. 6 Z=1
  3. 7 FOR A=1 TO 7:RANDOMIZE RND:NEXT A
  4. 8 DIM V(320)
  5. 10 SCREEN 2:SCREEN 1
  6. 20 PRINT"Enter angle: (0 to 180 - 0 is left)"
  7. 30 A1=0:INPUT A
  8. 35 IF A>90 THEN A=180-A:A1=1
  9. 40 PRINT:PRINT:PRINT"Enter power: (0 to 1000)
  10. 50 INPUT B
  11. 56 PRINT:PRINT:PRINT"Enter wind (to right): (-100 to 100)"
  12. 57 INPUT W
  13. 58 W=W/20
  14. 60 PRINT:PRINT:PRINT"Enter positioning of tank: (5 to 315)"
  15. 62 INPUT X
  16. 64 SCREEN 2:SCREEN 1:GOTO 66
  17. 65 X=INT(RND*310)+5
  18. 66 REM
  19. 68 GOSUB 210
  20. 70 FOR C=1 TO 5 STEP .5:CIRCLE (X,V(X)),C,1,,,5/5:NEXT C
  21. 75 GOSUB 300
  22. 80 FOR C=1 TO 5:LINE (0,195+C)-(320,195+C),2:NEXT C
  23. 90 Y=195:FY=0-((A/90)*B):FX=0-(((90-A)/90)*B)
  24. 95 IF A1=1 THEN FX=0-FX
  25. 100 LINE (X,Y)-(X,Y)
  26. 105 IF FY<0 THEN FY1=0-FY ELSE FY1=FY
  27. 106 IF FX<0 THEN FX1=0-FX ELSE FX1=FX
  28. 110 IF FY1>FX1 THEN 115
  29. 111 IF FX<0 THEN FX2=0-Z ELSE IF FX>0 THEN FX2=Z ELSE FX2=0
  30. 112 IF FX1=0 THEN IF FY1=0 THEN FX2=0:FY2=0:GOTO 118
  31. 113 IF FX<0 THEN FY2=FY/((0-FX)/Z) ELSE FY2=FY/(FX/Z)
  32. 114 GOTO 118
  33. 115 IF FY<0 THEN FY2=0-Z ELSE IF FY>0 THEN FY2=Z ELSE FY2=0
  34. 116 IF FY<0 THEN FX2=FX/((0-FY)/Z) ELSE FX2=FX/(FY/Z)
  35. 118 X=X+FX2:Y=Y+FY2
  36. 120 FY=FY+Z:FX=FX+(W*Z)
  37. 130 LINE -(X,Y)
  38. 135 GOTO 170
  39. 140 IF X<1 THEN BEEP:END
  40. 150 IF X>320 THEN BEEP:END
  41. 160 IF Y<1 THEN BEEP:END
  42. 170 IF Y>195 THEN BEEP:GOTO 190
  43. 180 GOTO 105
  44. 190 A$=INKEY$:IF A$="" THEN 190
  45. 200 GOTO 5
  46. 210 FK=0:HK=198:CK1=INT(RND*6)+2
  47. 220 FOR C=1 TO 320
  48. 230 CK=INT(RND*CK1)+1
  49. 240 IF CK<>1 THEN 260
  50. 250 CK2=INT(RND*2)+1:IF CK2=1 THEN FK=FK-1 ELSE FK=FK+1
  51. 260 HK=HK+FK:IF HK>198 THEN HK=198
  52. 265 IF HK<20 THEN HK=20:FK=0
  53. 270 V(C)=HK
  54. 280 NEXT C
  55. 290 RETURN
  56. 300 FOR C=1 TO 320
  57. 310 LINE (C,200)-(C,V(C)),2
  58. 320 NEXT C:RETURN
  59.