home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / various / combat-planes.amos / combat-planes.amosSourceCode < prev    next >
AMOS Source Code  |  1993-01-08  |  5KB  |  178 lines

  1. Rem      *************************** 
  2. Rem      *                         * 
  3. Rem      *      COMBAT PLANES      *   
  4. Rem      *           BY            * 
  5. Rem      *      MURRAY JONES       * 
  6. Rem      *                         * 
  7. Rem      *************************** 
  8. Rem
  9. Rem
  10. Screen Open 0,320,256,16,Lowres
  11. Screen Display 0,130,40,320,256
  12. Double Buffer 
  13. Flash Off : Hide : Curs Off : Get Sprite Palette 
  14. Cls 0 : Colour 0,$9
  15. _COPYRIGHT[75]
  16. Procedure _COPYRIGHT[YDISPLAY]
  17.    '  
  18.    Auto View Off 
  19.    '
  20.    Unpack 10 To 7
  21.    '
  22.    For Y=2 To Screen Height/2 Step 2
  23.       Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
  24.       Screen Offset 7,,Screen Height/2-Y
  25.       View 
  26.       Wait Vbl 
  27.    Next 
  28.    '
  29.    Wait 300
  30.    '
  31.    For Y=Screen Height/2 To 0 Step -8
  32.       Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
  33.       Screen Offset 7,,Screen Height/2-Y
  34.       View 
  35.       Wait Vbl 
  36.    Next 
  37.    '
  38.    Screen Close 7
  39.    Auto View On 
  40.    '
  41. End Proc
  42. Erase 10
  43. BEGIN:
  44. NB=2 : XB=50 : YB=100 : XD=50 : XU=0 : XXD=50 : XXU=0 : N=20 : BS=0
  45. NJ=6 : XJ=300 : YJ=210 : YD=50 : YU=0 : YYD=50 : YYU=0 : M=20 : JS=0
  46. Paper 0
  47. Locate 2,30 : Print "BIPLANE HITS= "
  48. Locate 24,30 : Print "JET HITS= "
  49. MOVING:
  50. If(RR<>5) and(RR<>100) Then RR=Rnd(1000)+1
  51. If RR=5 Then XXX=XXX+1 : YYY=YYY+1
  52. If RR=100 Then XXX=XXX+1 : YYY=110
  53. If(XXX>1320) and(RR=5) Then Bob Off 7 : RR=0 : XXX=-50 : YYY=-50
  54. If(XXX>1320) and(RR=100) Then Bob Off 7 : RR=0 : XXX=-50 : YYY=-50
  55. If Jleft(1) Then N=N-1
  56. If N=10 Then NB=NB-1 : N=20
  57. If Jright(1) Then N=N+1
  58. If N=30 Then NB=NB+1 : N=20
  59. If Fire(1) Then FB=5 : Gosub FIRB
  60. If(FB=5) and(NB=1) Then Bob 3,XB,YB-60+YD,34 : YD=YD-3 : If YD<0 Then Bob Off 3 : YD=50 : FB=0
  61. If(FB=5) and(NB=2) Then Bob 3,XB+55-XU,YB-55+YD,35 : YD=YD-3 : XU=XU-3 : If YD<0 Then Bob Off 3 : YD=50 : XU=50 : FB=0
  62. If(FB=5) and(NB=3) Then Bob 3,XB+10+XU,YB,36 : XU=XU+3 : If XU>50 Then Bob Off 3 : XU=0 : FB=0
  63. If(FB=5) and(NB=4) Then Bob 3,XB+10+XU,YB+10+YU,37 : YU=YU+3 : XU=XU+3 : If YU>30 Then Bob Off 3 : YU=0 : XU=0 : FB=0
  64. If(FB=5) and(NB=5) Then Bob 3,XB,YB+15+YU,34 : YU=YU+3 : If YU>30 Then Bob Off 3 : YU=0 : FB=0
  65. If(FB=5) and(NB=6) Then Bob 3,XB-60+XD,YB+10+YU,35 : XD=XD-3 : YU=YU+3 : If YU>30 Then Bob Off 3 : YU=0 : XD=50 : FB=0
  66. If(FB=5) and(NB=7) Then Bob 3,XB-65+XD,YB,36 : XD=XD-3 : If XD<20 Then Bob Off 3 : XD=50 : FB=0
  67. If(FB=5) and(NB=8) Then Bob 3,XB-60+XD,YB-60+XD,37 : XD=XD-3 : YD=YD-3 : If XD<10 Then Bob Off 3 : XD=50 : YD=50 : FB=0
  68. If Bob Col(1,4 To 4) Then Goto BIPEXP
  69. If NB>8 Then NB=1
  70. If NB<1 Then NB=8
  71. If NB=1 Then YB=YB-1
  72. If NB=2 Then XB=XB+1 : YB=YB-1
  73. If NB=3 Then XB=XB+1
  74. If NB=4 Then XB=XB+1 : YB=YB+1
  75. If NB=5 Then YB=YB+1
  76. If NB=6 Then XB=XB-1 : YB=YB+1
  77. If NB=7 Then XB=XB-1
  78. If NB=8 Then XB=XB-1 : YB=YB-1
  79. If XB>320 Then XB=1
  80. If XB<1 Then XB=320
  81. If YB>256 Then YB=1
  82. If YB<1 Then YB=256
  83. If Jleft(0) Then M=M-1
  84. If M=10 Then NJ=NJ-1 : M=20
  85. If Jright(0) Then M=M+1
  86. If M=30 Then NJ=NJ+1 : M=20
  87. If Fire(0) Then FJ=5 : Gosub FIRJ
  88. If(FJ=5) and(NJ=11) Then Bob 4,XJ,YJ-60+YYD,34 : YYD=YYD-3 : If YYD<0 Then Bob Off 4 : YYD=50 : FJ=0
  89. If(FJ=5) and(NJ=12) Then Bob 4,XJ+55-XXU,YJ-55+YYD,35 : YYD=YYD-3 : XXU=XXU-3 : If YYD<0 Then Bob Off 4 : YYD=50 : XXU=50 : FJ=0
  90. If(FJ=5) and(NJ=13) Then Bob 4,XJ+10+XXU,YJ,36 : XXU=XXU+3 : If XXU>50 Then Bob Off 4 : XXU=0 : FJ=0
  91. If(FJ=5) and(NJ=14) Then Bob 4,XJ+10+XXU,YJ+10+YYU,37 : YYU=YYU+3 : XXU=XXU+3 : If YYU>30 Then Bob Off 4 : YYU=0 : XXU=0 : FJ=0
  92. If(FJ=5) and(NJ=15) Then Bob 4,XJ,YJ+15+YYU,34 : YYU=YYU+3 : If YYU>50 Then Bob Off 4 : YYU=0 : FJ=0
  93. If(FJ=5) and(NJ=16) Then Bob 4,XJ-60+XXD,YJ+10+YYU,35 : XXD=XXD-3 : YYU=YYU+3 : If YYU>20 Then Bob Off 4 : YYU=0 : XXD=50 : FJ=0
  94. If(FJ=5) and(NJ=17) Then Bob 4,XJ-65+XXD,YJ,36 : XXD=XXD-3 : If XXD<0 Then Bob Off 4 : XXD=50 : FJ=0
  95. If(FJ=5) and(NJ=18) Then Bob 4,XJ-60+XXD,YJ-60+XXD,37 : XXD=XXD-3 : YYD=YYD-3 : If XXD<10 Then Bob Off 4 : XXD=50 : YYD=50 : FJ=0
  96. If Bob Col(2,3 To 3) Then Goto JETEXP
  97. If NJ<11 Then NJ=18
  98. If NJ>18 Then NJ=11
  99. If NJ=11 Then YJ=YJ-1
  100. If NJ=12 Then XJ=XJ+1 : YJ=YJ-1
  101. If NJ=13 Then XJ=XJ+1
  102. If NJ=14 Then XJ=XJ+1 : YJ=YJ+1
  103. If NJ=15 Then YJ=YJ+1
  104. If NJ=16 Then XJ=XJ-1 : YJ=YJ+1
  105. If NJ=17 Then XJ=XJ-1
  106. If NJ=18 Then XJ=XJ-1 : YJ=YJ-1
  107. If XJ>320 Then XJ=1
  108. If XJ<1 Then XJ=320
  109. If YJ>256 Then YJ=1
  110. If YJ<1 Then YJ=256
  111. Bob 1,XB,YB,NB
  112. Bob 2,XJ,YJ,NJ
  113. If RR=100 Then Bob 7,XXX/4,YYY,9
  114. If RR=5 Then Bob 7,XXX/6,YYY/6,9
  115. Goto MOVING
  116. BIPEXP:
  117. Bob Off 4
  118. Sam Play 2
  119. For BE=19 To 33
  120. Bob 5,XB,YB,BE
  121. Wait Vbl 
  122. Next BE
  123. Bob Off 5
  124. JS=JS+1
  125. Locate 15,30 : Print "      "
  126. Locate 15,30 : Print JS
  127. FJ=0
  128. If JS>11 Then Goto ENE
  129. For ERG=1 To 50
  130. XB=XB+1 : YB=YB+1 : NB=BN+1
  131. If NB>8 Then NB=1
  132. Bob 1,XB,YB,NB
  133. Next ERG
  134. Goto RES
  135. JETEXP:
  136. Bob Off 3
  137. Sam Play 2
  138. For JE=19 To 33
  139. Bob 6,XJ,YJ,JE
  140. Wait Vbl 
  141. Next JE
  142. Bob Off 6
  143. BS=BS+1
  144. Locate 33,30 : Print "     "
  145. Locate 33,30 : Print BS
  146. FB=0
  147. For ERT=1 To 50
  148. XJ=XJ+1 : YJ=YJ+1 : NJ=NJ+1
  149. If NJ>18 Then NJ=11
  150. Bob 2,XJ,YJ,NJ
  151. Next ERT
  152. If BS>11 Then Goto ENE
  153. Goto RES
  154. FIRB:
  155. FIB=FIB+1
  156. If FIB=6 Then Sam Play 1
  157. If FIB>12 Then FIB=0
  158. Return 
  159. FIRJ:
  160. FIJ=FIJ+1
  161. If FIJ=6 Then Sam Play 1
  162. If FIJ>12 Then FIJ=0
  163. Return 
  164. RES:
  165. FB=0 : XD=50 : XXD=50 : XU=0 : XXU=0 : YU=0 : YYU=0 : YD=50 : YYD=50
  166. Goto MOVING
  167. ENE:
  168. Fade 10 : Wait 200
  169. Bob Off 
  170. Cls 0
  171. Get Sprite Palette 
  172. Locate 10,10 : Print "The final score is:"
  173. Locate 10,14 : Print "Biplane had";JS;" hits"
  174. Locate 10,16 : Print "Jet had";BS;" hits"
  175. If BS<JS Then Locate 10,19 : Print "The jet wins"
  176. If BS>JS Then Locate 10,19 : Print "The biplane wins"
  177. Wait 800
  178. Goto BEGIN