home *** CD-ROM | disk | FTP | other *** search
/ The CIA World Factbook 1992 / k3bimage.iso / sel / 01 / 0113 / megatron.bas (.txt) next >
Encoding:
GW-BASIC  |  1991-12-02  |  2.8 KB  |  100 lines

  1. 10  CLEAR:DEFINT A-Z:SCREEN 1:COLOR 0,1:KEY OFF:CLS:LOCATE 3,10:PRINT"M E G A T R O N"
  2. 12  LOCATE 10,20:PRINT"By the Sysop of MedCom Systems BBS":LOCATE 14,20:PRINT"Orlando, Florida  1-305-351-0096"
  3. 15  FOR XX=1 TO 7500:NEXT XX:CLS
  4. 20  PRINT:PRINT:PRINT"Select your game ..."
  5. 30  PRINT:PRINT"GAME     1   2   3   4   5   6   7   8"
  6. 40  PRINT:PRINT"Players  1   1   1   1   2   2   2   2";
  7. 50  PRINT"Border   N   N   Y   Y   N   N   Y   Y";
  8. 60  PRINT"Blocks   N   Y   N   Y   N   Y   N   Y";
  9. 70  K$=INKEY$:IF K$="" THEN 70
  10. 80  IF K$<"1" OR K$>"8" THEN 70
  11. 90  IF K$<"5" THEN PLAYERS=1 ELSE PLAYERS=2
  12. 100  IF K$<"3" OR (K$>"4" AND K$<"7") THEN BORDER=0 ELSE BORDER=1
  13. 110  IF VAL(K$)/2-INT(VAL(K$)/2) THEN BLOCKS=0 ELSE BLOCKS=1
  14. 120  PRINT:PRINT"Game selected ... ";K$
  15. 130  PRINT:PRINT"Do you want sound effects (Y/N) ? ";
  16. 140  K$=INKEY$:IF K$="" THEN 140
  17. 150  IF INSTR("NnYy",K$)=0 THEN 140
  18. 160  NOISE=-(INSTR("NnYy",K$)>2)
  19. 170  IF NOISE THEN PRINT"YES" ELSE PRINT"NO"
  20. 180  PRINT:IF PLAYERS=1 THEN 200
  21. 190  PRINT"Red plays the '\' and 'z' keys."
  22. 200  PRINT"Green plays the '.' and '/' keys."
  23. 210  PRINT"(for left and right turns)."
  24. 220  PRINT:PRINT"PRESS THE SPACE BAR TO BEGIN !";
  25. 230  K$=INKEY$:IF K$<>" " THEN 230
  26. 240  WHILE NOT TIME.TO.QUIT
  27. 250  CLS:COLOR 1,0
  28. 260  RANDOMIZE VAL(MID$(TIME$,4,2)+RIGHT$(TIME$,2))
  29. 270  RESTORE
  30. 280  READ COUNT,XINC,YINC,XA,YA,XB,YB,CRASHFLAG
  31. 290  DATA 0,3,2,210,98,105,98,0
  32. 300  IF BLOCKS=0 THEN 420
  33. 310  FOR I=1 TO 3+RND*7
  34. 320  X1=(INT(318*RND)*XINC) MOD 318
  35. 330  X2=(INT(318*RND)*XINC) MOD 318
  36. 340  Y1=(INT(200*RND)*YINC) MOD 200
  37. 350  Y2=(INT(200*RND)*YINC) MOD 200
  38. 360  IF X1>X2 THEN SWAP X1,X2
  39. 370  IF Y1>Y2 THEN SWAP Y1,Y2
  40. 380  IF Y1>98 OR Y2<98 THEN 410
  41. 390  IF X1<=105 AND X2>=105 THEN 320
  42. 400  IF X1<=210 AND X2>=210 THEN 320
  43. 410  LINE (X1,Y1)-(X2,Y2),,BF:NEXT I
  44. 420  IF BORDER THEN LINE (XINC,YINC)-(318-XINC,200-YINC),,B
  45. 430  IF BORDER THEN PAINT (0,0)
  46. 440  DXA=INT(RND*3-1)
  47. 450  DYA=INT(RND*3-1)
  48. 460  IF ABS(DXA)=ABS(DYA) THEN 440
  49. 470  DXB=INT(RND*3-1)
  50. 480  DYB=INT(RND*3-1)
  51. 490  IF ABS(DXB)=ABS(DYB) THEN 470
  52. 500  K$=INKEY$:IF K$<>"" THEN 500
  53. 510  WHILE CRASHFLAG=0
  54. 520  IF NOISE THEN SOUND 37,0
  55. 530  K$=INKEY$
  56. 540  TURNS=0
  57. 550  IF K$="." THEN SWAP DXA,DYA:DYA=-DYA
  58. 560  IF K$="/" THEN SWAP DXA,DYA:DXA=-DXA
  59. 570  IF PLAYERS=1 THEN 610
  60. 580  IF K$="\" THEN SWAP DXB,DYB:DYB=-DYB
  61. 590  IF K$="z" THEN SWAP DXB,DYB:DXB=-DXB
  62. 600  GOTO 710
  63. 610  IF K$<>"." AND K$<>"/" THEN 640
  64. 620  SWAP DXB,DYB
  65. 630  IF RND<0.5 THEN DYB=-DYB ELSE DXB=-DXB
  66. 640  XT=(XB+DXB*XINC+318) MOD 318
  67. 650  YT=(YB+DYB*YINC+200) MOD 200
  68. 660  IF POINT (XT,YT)=0 THEN 710
  69. 670  DXB=-DXB
  70. 680  DYB=-DYB
  71. 690  TURNS=TURNS+1
  72. 700  IF TURNS<4 THEN 620
  73. 710  XA=(XA+DXA*XINC+318) MOD 318
  74. 720  YA=(YA+DYA*YINC+200) MOD 200
  75. 730  XB=(XB+DXB*XINC+318) MOD 318
  76. 740  YB=(YB+DYB*YINC+200) MOD 200
  77. 750  IF NOISE THEN SOUND 37+COUNT+COUNT,99
  78. 760  IF POINT (XA,YA) THEN CRASHFLAG=1
  79. 770  LINE (XA,YA)-(XA+XINC-1,YA+YINC-1),1,BF
  80. 780  IF POINT (XB,YB) THEN CRASHFLAG=2
  81. 790  LINE (XB,YB)-(XB+XINC-1,YB+YINC-1),2,BF
  82. 800  COUNT=COUNT+1
  83. 810  WEND
  84. 820  IF NOISE THEN SOUND 37,0
  85. 830  IF CRASHFLAG=1 THEN PSET (XA,YA)
  86. 840  IF CRASHFLAG=2 THEN PSET (XB,YB)
  87. 850  FOR I=1 TO 17
  88. 860  XR=RND*130-65
  89. 870  YR=RND*100-50
  90. 880  DRAW"C=CRASHFLAG;NM+=xr;,=yr;"
  91. 890  IF NOISE THEN SOUND RND*777+2222,1:NEXT I
  92. 900  IF CRASHFLAG=1 THEN RED=RED+COUNT
  93. 910  IF CRASHFLAG=2 THEN GRE=GRE+COUNT
  94. 920  LOCATE 1,1:PRINT"Score ...   RED =";RED;"   GREEN =";GRE
  95. 930  FOR DELAY=1 TO 1111 STEP 5+17*NOISE
  96. 940  IF NOISE AND CRASHFLAG=1 THEN SOUND 1148-DELAY,1
  97. 950  IF NOISE AND CRASHFLAG=2 THEN SOUND 37+DELAY,1
  98. 960  NEXT DELAY
  99. 970  WEND
  100.