home *** CD-ROM | disk | FTP | other *** search
/ 300 Favorite Games / 300GAMES.iso / 316 / randman2.atr < prev    next >
Text File  |  1992-02-15  |  3KB  |  196 lines

  1. ;Randman.                Ed T. Toton III   2/11/92
  2.  
  3. ; define vars
  4. #def armor
  5. #def hitcheck
  6. #def hit
  7. #def accuracy
  8. #def x
  9. #def y
  10.  
  11.  
  12. ; Settings...
  13. set     hitcheck  50
  14. opo     18      9
  15. opo     20      1000
  16. opo     13      0
  17. opo     22      0
  18. gsb     4000
  19. opo     11      100
  20.  
  21.  
  22. ; Main loop...
  23.  :1
  24.  ;Shift 19
  25.   opo   12      19
  26.  
  27.  ;if enemy gosub 1000
  28.   ipo   7       az
  29.   cmp   az      5000
  30.   jls   1000    1
  31.   
  32.  ;if hit gosub 2000
  33.   set   hit     0
  34.   gsb   hitcheck
  35.   cmp   hit     0
  36.   jne   4000    1
  37.  
  38.  ;if heat>350 gosub 8999
  39.   ipo   2       az
  40.   cmp   az      350
  41.   jgr   8999    1
  42.  
  43.        ;Get location
  44.         int     5
  45.  
  46.  ;if enemy gosub 1000
  47.   ipo   7       az
  48.   cmp   az      5000
  49.   jls   1000    1
  50.  
  51.        ;Scenario 1
  52.         cmp     bx      950
  53.         jgr     4001    1
  54.  
  55.        ;Scenario 2
  56.         cmp     bx      50
  57.         jls     4002    1
  58.  
  59.        ;Scenario 3
  60.         cmp     by      950
  61.         jgr     4003    1
  62.  
  63.        ;Scenario 4
  64.         cmp     by      50
  65.         jls     4004    1
  66.  
  67.  
  68. jmp 1
  69.  
  70.  
  71.  
  72. ; Shooting sub-routine...
  73. :1000
  74.  
  75.  ;fire
  76.   ipo     8       accuracy
  77.   opo     15      accuracy
  78.  
  79.  ;if hit gosub 2000
  80.   set   hit     0
  81.   gsb   hitcheck
  82.   cmp   hit     0
  83.   jne   2000    1
  84.   
  85.  ;if enemy goto 1000
  86.   ipo     7       az
  87.   cmp     az      5000
  88.   jls     1000
  89.  
  90. ret
  91.  
  92.  
  93.  
  94.  
  95. ;Veer off...
  96. :2000
  97.  
  98.  ;radnspin
  99.   gsb   4000
  100.  
  101.  ;Delay 9   &  move 100
  102.   del   9
  103.   opo   11      100
  104.  
  105. ret
  106.  
  107.  
  108.  
  109.  
  110. ; Cool-down subroutine...
  111. :8999
  112.  
  113.  ;if heat>100 goto 8999
  114.   ipo   2       az
  115.   cmp   az      100
  116.   jgr   8999
  117.  
  118. ret
  119.  
  120.  
  121.  
  122.  
  123. ;Hitcheck
  124. :50
  125.        ;read and compare armor
  126.         ipo     6       az
  127.         cmp     az      armor
  128.  
  129.        ;if no damage then simply exit.
  130.         jeq     51
  131.  
  132.        ;if hit, then say so!
  133.         set     armor   az
  134.         set     hit     1
  135. :51
  136. ret
  137.  
  138.  
  139.  
  140.  
  141. ;Randspin
  142. :4000
  143.         ;Randspin
  144.         set     az      10030
  145.         mod     az      az      360
  146.  
  147.        ;Get location
  148.         int     5
  149.  
  150.        ;Scenario 1
  151.         cmp     bx      950
  152.         jgr     4001
  153.  
  154.        ;Scenario 2
  155.         cmp     bx      50
  156.         jls     4002
  157.  
  158.        ;Scenario 3
  159.         cmp     by      950
  160.         jgr     4003
  161.  
  162.        ;Scenario 4
  163.         cmp     by      50
  164.         jls     4004
  165.  
  166.        ;Last resort (not near a wall)
  167.         opo     14      az
  168.  
  169. ret
  170. ;Scenario 1
  171. :4001
  172.         mod     az      10030   180
  173.         sub     ax      0       az
  174.         int     7
  175.         ret
  176. ;Scenario 2
  177. :4002
  178.         mod     ax      10030   180
  179.         int     7
  180.         ret
  181. ;Scenario 3
  182. :4003
  183.         mod     az      10030   180
  184.         sub     ax      az      90
  185.         int     7
  186.         ret
  187. ;Scenario 4
  188. :4004
  189.         mod     az      10030   180
  190.         add     ax      az      90
  191.         int     7
  192.         ret
  193.  
  194.  
  195. ; End of program!!
  196.