home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 26 / CD_ASCQ_26_1295.iso / vrac / begin_jb.zip / ANIMAZE.BAS < prev    next >
BASIC Source File  |  1995-07-21  |  15KB  |  329 lines

  1. DECLARE SUB title ()
  2. DECLARE SUB newscreen (youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  3. DECLARE SUB screendraw (youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), anix, aniy, rabbit())
  4. DECLARE SUB Move (snum%, youx, youy, man(), grass(), obplace$(), bush(), tree(), owl(), ani$, anih$, pickup, rabbit())
  5. DECLARE SUB display (youx, youy, man())
  6. DECLARE SUB Startup (grass(), man(), bush(), tree(), owl(), rabbit())
  7. ' $DYNAMIC
  8. DIM grass(1 TO 400)
  9. DIM man(1 TO 400)
  10. DIM obplace$(15, 8)
  11. DIM bush(1 TO 400)
  12. DIM tree(1 TO 400)
  13. DIM owl(1 TO 400)
  14. DIM rabbit(1 TO 400)
  15. CONST true = 1, false = 0
  16. snum% = 1: youx = 1: youy = 1: pickup = false
  17. CALL title
  18. CALL Startup(grass(), man(), bush(), tree(), owl(), rabbit())
  19. CALL display(youx, youy, man())
  20. CALL screendraw(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), anix, aniy, rabbit())
  21. CALL Move(snum%, youx, youy, man(), grass(), obplace$(), bush(), tree(), owl(), ani$, anih$, pickup, rabbit())
  22. 'Data grass
  23. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  24. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  25. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  26. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  27. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  28. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  29. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  30. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  31. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  32. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  33. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  34. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  35. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  36. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  37. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  38. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  39. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  40. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  41. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  42. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  43. 'data man()
  44. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  45. DATA 2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2
  46. DATA 2,2,0,2,2,2,2,2,0,15,15,0,2,2,2,2,2,0,2,2
  47. DATA 2,0,15,0,2,2,2,0,15,15,15,14,0,2,2,2,0,15,0,2
  48. DATA 2,0,14,0,2,2,2,0,15,15,14,14,0,2,2,2,0,14,0,2
  49. DATA 2,0,14,0,2,2,2,2,0,14,14,0,2,2,2,2,0,14,0,2
  50. DATA 2,0,0,0,2,2,2,2,0,14,14,0,2,2,2,2,0,0,0,2
  51. DATA 2,0,1,0,2,0,0,2,2,0,0,2,2,0,0,2,0,1,0,2
  52. DATA 2,0,1,0,2,2,0,2,2,0,0,2,2,0,2,2,0,1,0,2
  53. DATA 2,0,1,0,2,2,2,0,2,0,0,2,0,2,2,2,0,1,0,2
  54. DATA 2,0,1,0,2,2,2,2,0,0,0,0,2,2,2,2,0,1,0,2
  55. DATA 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
  56. DATA 2,0,1,6,1,1,1,0,15,14,14,14,0,1,1,1,6,1,0,2
  57. DATA 2,0,1,6,1,1,1,0,15,14,14,14,0,1,1,1,6,1,0,2
  58. DATA 2,0,1,6,1,1,1,1,0,0,0,0,1,1,1,1,6,1,0,2
  59. DATA 2,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,2
  60. DATA 2,2,2,0,6,6,6,6,6,6,6,6,6,6,6,6,0,2,2,2
  61. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,2,2
  62. DATA 2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2
  63. 'data bush
  64. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  65. DATA 2,2,2,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2
  66. DATA 2,2,0,10,10,10,10,10,10,0,2,2,2,2,2,2,2,2,2,2
  67. DATA 2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2,2,2,2
  68. DATA 2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2,2,2,2
  69. DATA 2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2,2,2,2
  70. DATA 2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2,2,2,2
  71. DATA 2,2,0,10,10,10,0,0,0,0,0,0,2,2,2,2,2,2,2,2
  72. DATA 2,2,2,0,10,0,10,10,10,10,10,10,0,2,2,2,2,2,2,2
  73. DATA 2,2,2,2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2
  74. DATA 2,2,2,2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2
  75. DATA 2,2,2,2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2
  76. DATA 2,2,2,2,0,10,10,10,10,10,10,10,2,0,2,2,2,2,2,2
  77. DATA 2,2,2,2,2,0,10,10,10,10,2,2,0,2,2,2,2,2,2,2
  78. DATA 2,2,2,2,2,0,0,2,0,0,0,0,2,2,2,2,2,2,2,2
  79. DATA 2,2,2,2,2,0,0,2,0,0,2,2,2,2,2,2,2,2,2,2
  80. DATA 2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2
  81. DATA 2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2
  82. DATA 2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2
  83. DATA 2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2
  84. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  85. 'data tree
  86. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  87. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  88. DATA 2,2,2,0,0,0,0,0,0,0,0,2,2,0,0,2,2,2,2,2
  89. DATA 2,2,0,10,2,2,2,2,2,2,2,0,0,2,2,0,2,2,2,2
  90. DATA 2,0,10,2,2,2,2,2,2,2,2,2,0,2,2,0,2,2,2,2
  91. DATA 2,0,10,10,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2
  92. DATA 2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2
  93. DATA 2,2,0,10,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2
  94. DATA 2,2,2,0,10,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2
  95. DATA 2,2,2,2,0,10,2,2,2,2,2,2,0,0,0,2,2,2,2,2
  96. DATA 2,2,2,2,2,0,0,2,2,2,2,2,0,2,2,2,2,2,2,2
  97. DATA 2,2,2,2,2,2,2,0,0,0,0,0,2,2,2,2,2,2,2,2
  98. DATA 2,2,2,2,2,2,2,0,6,6,6,0,2,2,2,2,2,2,2,2
  99. DATA 2,2,2,2,2,2,2,0,6,6,6,0,2,2,2,2,2,2,2,2
  100. DATA 2,2,2,2,2,2,2,0,6,0,6,0,2,2,2,2,2,2,2,2
  101. DATA 2,2,2,2,2,2,2,0,6,0,6,0,2,2,2,2,2,2,2,2
  102. DATA 2,2,2,2,2,2,2,0,6,0,6,0,2,2,2,2,2,2,2,2
  103. DATA 2,2,2,2,2,2,2,0,6,6,6,0,2,2,2,2,2,2,2,2
  104. DATA 2,2,2,2,2,2,2,0,0,6,6,0,2,2,2,2,2,2,2,2
  105. DATA 2,2,2,2,2,2,2,0,6,0,6,0,2,2,2,2,2,2,2,2
  106. 'data owl
  107. DATA 2,2,2,2,2,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2
  108. DATA 2,2,2,2,0,6,6,6,6,6,6,6,0,2,2,2,2,2,2,2
  109. DATA 2,2,2,0,6,0,0,0,6,0,0,0,6,0,2,2,2,2,2,2
  110. DATA 2,2,0,6,0,15,15,15,15,15,15,15,0,6,0,2,2,2,2,2
  111. DATA 2,2,0,6,0,15,0,0,0,0,0,15,0,6,0,2,2,2,2,2
  112. DATA 2,2,0,6,0,15,0,0,0,0,0,15,0,6,0,2,2,2,2,2
  113. DATA 2,2,0,6,6,0,0,0,14,0,0,0,6,6,0,2,2,2,2,2
  114. DATA 2,2,2,0,6,6,0,14,0,14,0,6,6,0,2,2,2,2,2,2
  115. DATA 2,2,2,2,0,0,0,14,0,14,0,0,0,2,2,2,2,2,2,2
  116. DATA 2,2,2,0,6,6,6,0,0,0,6,6,6,0,2,2,2,2,2,2
  117. DATA 2,2,0,6,6,6,6,6,0,6,6,6,6,0,0,2,2,2,2,2
  118. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,0,6,0,2,2,2,2
  119. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,0,6,6,0,2,2,2
  120. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,0,0,0,0,2,2,2
  121. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,0,6,6,0,2,2,2
  122. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,0,0,0,0,2,2,2
  123. DATA 2,2,0,6,6,6,6,6,6,6,6,6,6,0,6,6,0,2,2,2
  124. DATA 2,2,0,6,6,6,0,0,0,0,6,6,6,0,0,0,2,2,2,2
  125. DATA 2,2,2,0,14,0,2,2,2,2,0,14,0,2,2,2,2,2,2,2
  126. DATA 2,2,2,0,0,0,2,2,2,2,0,0,0,2,2,2,2,2,2,2
  127. 'data rabbit
  128. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  129. DATA 2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2
  130. DATA 2,2,2,0,2,0,2,2,2,2,2,2,2,2,0,2,0,2,2,2
  131. DATA 2,2,2,0,2,0,2,2,2,2,2,2,2,2,0,2,0,2,2,2
  132. DATA 2,2,2,0,2,0,2,0,0,0,0,0,0,2,0,2,0,2,2,2
  133. DATA 2,2,2,0,2,2,0,2,2,2,2,2,2,0,2,2,0,2,2,2
  134. DATA 2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2
  135. DATA 2,2,0,2,2,0,0,0,2,2,2,2,0,0,0,2,2,0,2,2
  136. DATA 2,2,0,2,0,2,2,2,0,2,2,0,2,2,2,0,2,0,2,2
  137. DATA 2,2,0,2,0,0,0,0,0,2,2,0,0,0,0,0,2,0,2,2
  138. DATA 2,2,0,2,2,0,0,0,2,2,2,2,0,0,0,2,2,0,2,2
  139. DATA 2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2
  140. DATA 2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2
  141. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  142. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  143. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  144. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  145. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  146. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  147. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  148. DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  149.  
  150. screen1:
  151. DATA grass,bush ,grass,grass,grass,tree ,bush ,grass,bush ,grass,bush ,grass,grass,grass,bush
  152. DATA grass,bush ,grass,bush ,bush ,bush ,bush ,grass,bush ,grass,grass,grass,bush ,grass,bush
  153. DATA grass,bush ,grass,grass,grass,grass,grass,grass,bush ,grass,bush ,grass,bush ,grass,bush
  154. DATA grass,grass,grass,bush ,bush ,grass,bush ,bush ,bush ,grass,bush ,grass,bush ,grass,bush
  155. DATA bush ,grass,bush ,bush ,grass,grass,bush ,grass,grass,grass,bush ,grass,grass,grass,grass
  156. DATA grass,grass,bush ,grass,grass,bush ,bush ,grass,bush ,bush ,bush ,grass,bush ,bush ,grass
  157. DATA grass,bush ,bush ,grass,bush ,bush ,grass,grass,grass,grass,grass,grass,bush ,owl  ,grass
  158. DATA grass,grass,bush ,grass,grass,grass,grass,bush ,bush ,bush ,bush ,bush ,bush ,bush ,grass
  159. DATA owl,tree
  160. screen2:
  161. DATA grass,bush ,grass,grass,grass,bush ,bush ,grass,grass,grass,bush ,bush ,grass,grass,grass
  162. DATA grass,grass,grass,bush ,grass,grass,bush ,grass,bush ,grass,grass,grass,grass,bush ,grass
  163. DATA bush ,bush ,bush ,bush ,bush ,grass,grass,grass,bush ,grass,bush ,grass,bush ,grass,grass
  164. DATA grass,bush ,grass,grass,bush ,grass,bush ,bush ,grass,grass,bush ,bush ,bush ,grass,bush
  165. DATA grass,rab  ,bush ,grass,bush ,bush ,bush ,grass,grass,grass,bush ,grass,grass,grass,grass
  166. DATA grass,bush ,grass,grass,grass,bush ,grass,grass,bush ,bush ,bush ,bush ,bush ,bush ,grass
  167. DATA grass,grass,grass,bush ,grass,grass,grass,grass,grass,grass,bush ,grass,grass,grass,grass
  168. DATA bush ,bush ,bush ,bush ,bush ,bush ,bush ,bush ,bush ,bush ,bush ,hole ,bush ,bush ,grass
  169. DATA rab  ,hole
  170. screen3:
  171. DATA grass,bush ,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  172. DATA grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  173. DATA bush ,grass,grass,grass,bush ,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  174. DATA grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  175. DATA grass,rab  ,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  176. DATA grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  177. DATA bush ,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass
  178. DATA grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,grass,hole ,grass,grass,grass
  179. DATA rab  ,hole
  180.  
  181. REM $STATIC
  182. SUB display (youx, youy, man())
  183. PUT (youx, youy), man, PSET
  184. END SUB
  185.  
  186. SUB Move (snum%, youx, youy, man(), grass(), obplace$(), bush(), tree(), owl(), ani$, anih$, pickup, rabbit())
  187. READ ani$: READ anih$
  188. DO
  189. a$ = LCASE$(INKEY$)
  190. IF a$ = "q" THEN END
  191. IF a$ = "m" AND youy < 140 THEN IF obplace$(((youy - 1) + 20) / 20, (youx - 1) / 20) = "grass" THEN PUT (youx, youy), grass, PSET: youy = youy + 20: CALL display(youx, youy, man())
  192. IF a$ = "k" AND youy > 1 THEN IF obplace$(((youy - 1) - 20) / 20, (youx - 1) / 20) = "grass" THEN PUT (youx, youy), grass, PSET: youy = youy - 20: CALL display(youx, youy, man())
  193. IF a$ = "x" AND youx < 280 THEN IF obplace$((youy - 1) / 20, ((youx - 1) + 20) / 20) = "grass" THEN PUT (youx, youy), grass, PSET: youx = youx + 20: CALL display(youx, youy, man())
  194. IF a$ = "z" AND youx > 1 THEN IF obplace$((youy - 1) / 20, ((youx - 1) - 20) / 20) = "grass" THEN PUT (youx, youy), grass, PSET: youx = youx - 20: CALL display(youx, youy, man())
  195. IF a$ = "l" AND snum% < 2 THEN CALL newscreen(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  196. IF youx > 1 THEN IF obplace$((youy - 1) / 20, ((youx - 1) - 20) / 20) = ani$ AND pickup = false THEN pickup = true: obplace$((youy - 1) / 20, ((youx - 1) - 20) / 20) = "grass": PUT (youx - 20, youy), grass, PSET
  197. IF youx < 140 THEN IF obplace$((youy - 1) / 20, ((youx - 1) + 20) / 20) = ani$ AND pickup = false THEN pickup = true: obplace$((youy - 1) / 20, ((youx - 1) + 20) / 20) = "grass": PUT (youx + 20, youy), grass, PSET
  198. IF youy > 1 THEN IF obplace$(((youy - 1) - 20) / 20, (youx - 1) / 20) = ani$ AND pickup = false THEN pickup = true: obplace$(((youy - 1) - 20) / 20, (youx - 1) / 20) = "grass": PUT (youx, youy - 20), grass, PSET
  199. IF youy < 280 THEN IF obplace$(((youy - 1) + 20) / 20, (youx - 1) / 20) = ani$ AND pickup = false THEN pickup = true: obplace$(((youy - 1) + 20) / 20, (youx - 1) / 20) = "grass": PUT (youx, youy + 20), grass, PSET
  200. IF youx > 1 THEN IF obplace$((youy - 1) / 20, ((youx - 1) - 20) / 20) = anih$ AND pickup = true THEN pickup = false: CALL newscreen(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  201. IF youx < 140 THEN IF obplace$((youy - 1) / 20, ((youx - 1) + 20) / 20) = anih$ AND pickup = true THEN pickup = false: CALL newscreen(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  202. IF youy > 1 THEN IF obplace$(((youy - 1) - 20) / 20, (youx - 1) / 20) = anih$ AND pickup = true THEN pickup = false: CALL newscreen(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  203. IF youy < 280 THEN IF obplace$(((youy - 1) + 20) / 20, (youx - 1) / 20) = anih$ AND pickup = true THEN pickup = false: CALL newscreen(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  204. LOCATE 22, 1: PRINT "You are carrying:- "; : IF pickup = 0 THEN PRINT "Nothing":  ELSE PRINT ani$; "    "
  205. LOOP
  206. END SUB
  207.  
  208. SUB newscreen (youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), ani$, anih$, rabbit())
  209. snum% = snum% + 1
  210. youy = 1: youx = 1
  211. pickup = false
  212. CALL screendraw(youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), anix, aniy, rabbit())
  213. CALL display(youx, youy, man())
  214. READ ani$: READ anih$
  215. END SUB
  216.  
  217. SUB screendraw (youx, youy, grass(), man(), snum%, obplace$(), bush(), tree(), owl(), anix, aniy, rabbit())
  218. REDIM obplace$(8, 15)
  219. IF snum% = 1 THEN RESTORE screen1
  220. IF snum% = 2 THEN RESTORE screen2
  221. IF snum% = 3 THEN RESTORE screen3
  222. FOR y = 1 TO 160 STEP 20
  223. FOR x = 1 TO 300 STEP 20
  224. READ name$
  225. obplace$(y / 20, x / 20) = name$
  226. IF obplace$(y / 20, x / 20) = "grass" THEN IF y <> youx OR x <> youy THEN PUT (x, y), grass, PSET
  227. IF obplace$(y / 20, x / 20) = "bush" THEN PUT (x, y), bush, PSET
  228. IF obplace$(y / 20, x / 20) = "tree" THEN PUT (x, y), tree, PSET
  229. IF obplace$(y / 20, x / 20) = "owl" THEN PUT (x, y), owl, PSET: anix = x: aniy = y
  230. IF obplace$(y / 20, x / 20) = "rab" THEN PUT (x, y), rabbit, PSET
  231. IF obplace$(y / 20, x / 20) = "hole" THEN PUT (x, y), tree, PSET
  232. NEXT: NEXT
  233. END SUB
  234.  
  235. DEFINT A-Z
  236. 'SparklePause:
  237. '  Creates flashing border for intro and game over screens
  238. SUB SparklePause
  239.   COLOR 4, 0
  240.   a$ = "*    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    "
  241.   WHILE INKEY$ <> "": WEND 'Clear keyboard buffer
  242.  
  243.   WHILE INKEY$ = ""
  244.     FOR a = 1 TO 5
  245.       LOCATE 1, 1                             'print horizontal sparkles
  246.       PRINT MID$(a$, a, 80);
  247.       LOCATE 22, 1
  248.       PRINT MID$(a$, 6 - a, 80);
  249.  
  250.       FOR b = 2 TO 21                         'Print Vertical sparkles
  251.         c = (a + b) MOD 5
  252.         IF c = 1 THEN
  253.           LOCATE b, 80
  254.           PRINT "*";
  255.           LOCATE 23 - b, 1
  256.           PRINT "*";
  257.         ELSE
  258.           LOCATE b, 80
  259.           PRINT " ";
  260.           LOCATE 23 - b, 1
  261.           PRINT " ";
  262.         END IF
  263.       NEXT b
  264.     NEXT a
  265.   WEND
  266. END SUB
  267.  
  268. DEFSNG A-Z
  269. SUB Startup (grass(), man(), bush(), tree(), owl(), rabbit())
  270. SCREEN 7
  271. CLS
  272. FOR x = 1 TO 20
  273. FOR y = 1 TO 20
  274. READ pix
  275. PSET (y, x), pix
  276. NEXT: NEXT
  277. GET (1, 1)-(20, 20), grass
  278. CLS
  279. FOR x = 1 TO 20
  280. FOR y = 1 TO 20
  281. READ pix
  282. PSET (y, x), pix
  283. NEXT: NEXT
  284. GET (1, 1)-(20, 20), man
  285. CLS
  286. FOR x = 1 TO 20
  287. FOR y = 1 TO 20
  288. READ pix
  289. PSET (y, x), pix
  290. NEXT: NEXT
  291. GET (1, 1)-(20, 20), bush
  292. CLS
  293. FOR x = 1 TO 20
  294. FOR y = 1 TO 20
  295. READ pix
  296. PSET (y, x), pix
  297. NEXT: NEXT
  298. GET (1, 1)-(20, 20), tree
  299. CLS
  300. FOR x = 1 TO 20
  301. FOR y = 1 TO 20
  302. READ pix
  303. PSET (y, x), pix
  304. NEXT: NEXT
  305. GET (1, 1)-(20, 20), owl
  306. CLS
  307. FOR x = 1 TO 20
  308. FOR y = 1 TO 20
  309. READ pix
  310. PSET (y, x), pix
  311. NEXT: NEXT
  312. GET (1, 1)-(20, 20), rabbit
  313. CLS
  314.  
  315. END SUB
  316.  
  317. SUB title
  318. CLS
  319. DO
  320. LOCATE 20, 3: PRINT "Press Space to start"
  321. LOCATE 10, 3: PRINT "k=UP,m=DOWN,z=LEFT,x=RIGHT"
  322. LOCATE 12, 3: PRINT "Press 'l' to change start level."
  323. LOCATE 13, 3: PRINT "current startlevel: - "; snum%
  324. a$ = LCASE$(INKEY$)
  325. IF a$ = "l" THEN snum% = snum% + 1
  326. LOOP UNTIL a$ = " "
  327. END SUB
  328.  
  329.