home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / UTILS / GALLERY (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1991-11-29  |  7.6 KB  |  302 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 10  REM  ****************
  2. 20  REM  *              *
  3. 30  REM  * SHOOTING     *
  4. 40  REM  *   GALLERY!!  *
  5. 50  REM  * BY STEVE     *
  6. 60  REM  *     LUZYNSKI *
  7. 70  REM  ****************
  8. 80  GOSUB 200: REM  INSTRUCTIONS
  9. 90  GOSUB 1000: REM  FONTSHELL
  10. 100  GOSUB 1200: REM  LOAD VARIABLES
  11. 110  GOSUB 400: REM  PLAY
  12. 120  END 
  13. 200  REM  INSTRUCTIONS!!
  14. 210  TEXT : HOME 
  15. 220 A$ = "SHOOTING GALLERY"
  16. 230 B =  INT(20 - LEN(A$)/2)
  17. 240  HTAB B: PRINT A$
  18. 250  PRINT "Copyright 1986,1988 by Steve Luzynski"
  19. 260  PRINT : PRINT "In this game you must shoot down"
  20. 270  PRINT "different targets at the right of the"
  21. 280  PRINT "screen to obtain points."
  22. 290  PRINT "Scoring is as follows:"
  23. 300  PRINT 
  24. 310  PRINT  TAB( 5)"DUCK     -- +10 POINTS."
  25. 320  PRINT  TAB( 5)"LEMON    -- - 5 POINTS."
  26. 330  PRINT  TAB( 5)"BULLSEYE -- +25 POINTS."
  27. 340  PRINT  TAB( 5)"UFO      -- +10 SECONDS."
  28. 350  PRINT  TAB( 5)"BIG X    -- - 5 SECONDS."
  29. 360  PRINT : PRINT "You have three minutes to start with": PRINT "Press SPACE BAR to fire a shot": PRINT "<< Be sure caps lock is !UP! >>"
  30. 370  FOR I = 1 TO 4: PRINT : NEXT 
  31. 380  PRINT "<<<<<<< PRESS RETURN TO CONTINUE >>>>>>": GET GO$
  32. 385  HOME : VTAB 10: PRINT "Loading ML...(You have a minute to go   use the 'facilities or whatever')"
  33. 390  RETURN 
  34. 400  REM  Play!!
  35. 410  GOSUB 1300: REM  SCREEN
  36. 420 PL = 1
  37. 430  VTAB 3: PRINT " ": VTAB 5: PRINT " ": VTAB 7: PRINT " ": VTAB 9: PRINT " "
  38. 440  IF PL = 4  THEN  VTAB 9: PRINT ""
  39. 450  IF PL = 1  THEN  VTAB 3: PRINT ""
  40. 460  IF PL = 2  THEN  VTAB 5: PRINT ""
  41. 470  IF PL = 3  THEN  VTAB 7: PRINT ""
  42. 480  IF PL = 1  THEN  VTAB 3: HTAB 13: PRINT BL2$
  43. 490  IF PL = 2  THEN  VTAB 5: HTAB 13: PRINT BL2$
  44. 500  IF PL = 3  THEN  VTAB 7: HTAB 13: PRINT BL2$
  45. 510  IF PL = 4  THEN  VTAB 9: HTAB 13: PRINT BL2$
  46. 520  VTAB 3:V = 3: FOR I = 1 TO A: HTAB 13: PRINT T(I);: HTAB 23: PRINT S(I);: HTAB 34: PRINT SH(I):V = V +2: VTAB V: NEXT 
  47. 530 AC = AC +1: IF AC > = 40  THEN AC = 1
  48. 540 CL =  FRE(0): REM  CLEAR STRING SPACE
  49. 550 FL$ =  MID$ (F$,AC,40)
  50. 560 SL$ =  MID$ (S$,AC,40)
  51. 570  VTAB 11: PRINT BL$: VTAB 12: PRINT BL$
  52. 580  VTAB 11: PRINT FL$
  53. 590  VTAB 12: PRINT SL$
  54. 600 KEY =  PEEK( -16384): IF KEY >128  THEN  GOSUB 680
  55. 610  POKE  -16368,0
  56. 620  IF SH(PL) =  <0  THEN  GOSUB 1610: GOTO 650
  57. 630  FOR Z = 1 TO 10: FOR ZZ = 1 TO WT: NEXT ZZ: NEXT Z:T(PL) = T(PL) -1: IF T(PL) =  <0  THEN 650
  58. 640  GOTO 480
  59. 650  WAIT  -16384,128: POKE  -16368,0
  60. 660 PL = PL +1: IF PL =  >(A +1)  THEN  GOTO 860
  61. 670  GOTO 430
  62. 680  POKE  -16368,0
  63. 690 SH(PL) = SH(PL) -1: IF SH(PL) =  < -1  THEN  GOSUB 1610: GOTO 650
  64. 700 AC = AC +1
  65. 710 CHAR =  SCRN( 20,2 *10) +16 * SCRN( 20,2 *10 +1)
  66. 720  VTAB 19: HTAB 20
  67. 730  FOR I = 18 TO 11  STEP  -1
  68. 740  HTAB 21: VTAB I: PRINT "|"
  69. 750 SO =  PEEK( -16336) + PEEK( -16336) + PEEK( -16336)
  70. 760  NEXT 
  71. 770  FOR I = 18 TO 11  STEP  -1: HTAB 21: VTAB I: PRINT " ": NEXT : HTAB 21: VTAB 19: PRINT ""
  72. 780 CHAR = CHAR -128
  73. 790  IF CHAR = 32  THEN  RETURN 
  74. 800  IF CHAR = 33  THEN S(PL) = S(PL) +10: GOTO 850
  75. 810  IF CHAR = 60  OR CHAR = 37  THEN S(PL) = S(PL) +25: GOTO 850
  76. 820  IF CHAR = 40  OR CHAR = 41  THEN S(PL) = S(PL) -5: GOTO 850
  77. 830  IF CHAR = 46  OR CHAR = 47  THEN T(PL) = T(PL) +11: GOTO 850
  78. 840  IF CHAR = 88  THEN T(PL) = T(PL) -5
  79. 850  PRINT  CHR$(7): RETURN 
  80. 860  FOR I = 1 TO A  STEP 2: VTAB 20 +(A <3) +I: HTAB 1: PRINT NA$(I);S(I);: IF NA$(I +1) < >""  THEN  HTAB 23: PRINT NA$(I +1);S(I +1)
  81. 870  NEXT I
  82. 880  VTAB 24: PRINT "PLAY AGAIN?";: GET P$
  83. 890  IF P$ = "Y"  OR P$ = "y"  THEN  GOTO 400
  84. 900  GOTO 1680
  85. 1000  REM  FONTSHELL
  86. 1010  GOSUB 2000
  87. 1020  GOSUB 3000
  88. 1040  POKE 6,0: POKE 7,141
  89. 1050  PRINT  CHR$(4);"PR#A$300"
  90. 1060  HGR2 
  91. 1070  HOME : CALL  -3092
  92. 1080  RETURN 
  93. 1200  REM  VariAbles!
  94. 1210 AC = 1
  95. 1220 BL$ = "                                       "
  96. 1230 BL2$ =  MID$ (BL$,1,24)
  97. 1240 WT = 14.666667: REM  MAKES 1 TURN APPROX. 1 SEC
  98. 1250 F$ = "!    <%      XX     ()     ./      !        <%           XX   ()   ./           ": REM  LINE 1
  99. 1260 S$ = "~#   &'      XX     *,     >@      ~#       &'           XX   *,   >@           ": REM  LINE 2
  100. 1270 FL$ =  MID$ (F$,AC,40)
  101. 1280 SL$ =  MID$ (S$,AC,40)
  102. 1290  RETURN 
  103. 1300  REM  SCREEN
  104. 1310  HOME : CALL  -3092
  105. 1320  PRINT "number of players?(1-4)";
  106. 1330  IF  PEEK( -16384) <128  THEN 1330
  107. 1340 A =  PEEK( -16384) -128: PRINT  CHR$(A):A = A -48: POKE  -16368,0: FOR I = 1 TO A: PRINT "player no-";I;":";
  108. 1350  INPUT A$:NA$(I) =  LEFT$(A$,8): NEXT 
  109. 1360  GOSUB 1570
  110. 1370  HOME : CALL  -3092
  111. 1380  HTAB 1: VTAB 1
  112. 1390  FOR I = 1 TO A:ZZ =  INT(9 - LEN(NA$(I))): FOR PR = 1 TO ZZ:NA$(I) = NA$(I) +" ": NEXT : NEXT 
  113. 1400  FOR I = 1 TO A
  114. 1410 NA$(I) = NA$(I) +":"
  115. 1420  NEXT 
  116. 1430  VTAB 1: HTAB 12: PRINT "time        score      shots"
  117. 1440  HCOLOR= 3: HPLOT 63,11 TO 279,11
  118. 1450  FOR I = 1 TO A: VTAB 2 *I +1: HTAB 3: PRINT NA$(I)
  119. 1460  HPLOT 63,2 *I *8 +11 TO 279,2 *I *8 +11: NEXT 
  120. 1470  FOR I = 1 TO A  STEP 2: VTAB 20 +(A <3) +I: HTAB 1: PRINT NA$(I);: IF NA$(I +1) < >""  THEN  HTAB 23: PRINT NA$(I +1)
  121. 1480  NEXT 
  122. 1490  HPLOT 0,75 TO 279,75: HPLOT 0,155 TO 279,155
  123. 1500  FOR I = 1 TO A:S(I) = 0:T(I) = 180:SH(I) = 25: NEXT 
  124. 1510  POKE 34,13
  125. 1520  VTAB 3:V = 3: FOR I = 1 TO A: HTAB 13: PRINT T(I);: HTAB 23: PRINT S(I);: HTAB 34: PRINT SH(I):V = V +2: VTAB V: NEXT 
  126. 1530  VTAB 11
  127. 1540  PRINT FL$;: PRINT SL$
  128. 1550  VTAB 19: HTAB 21: PRINT "": REM  GUN
  129. 1560  RETURN 
  130. 1570  VTAB 11: PRINT FL$: VTAB 12: PRINT SL$
  131. 1580  VTAB 13: PRINT "d    b        x     l     u      d"
  132. 1590  VTAB 14: PRINT "d=duck  b=bullseye  x= big x  l=lemon   u=ufo"
  133. 1600  GET ZZ$: RETURN 
  134. 1610  REM  TIME=SCORE
  135. 1620  FOR SC = 1 TO T(PL)  STEP 2
  136. 1630 T(PL) = T(PL) -2:S(PL) = S(PL) +1
  137. 1640 BZ =  PEEK( -16336) - PEEK( -16336) - PEEK( -16336)
  138. 1650  IF T(PL) <0  THEN T(PL) = 0
  139. 1660  VTAB 3:V = 3: FOR I = 1 TO A: HTAB 13: PRINT "   ": HTAB 13: VTAB V: PRINT T(I);: HTAB 23: PRINT S(I);: HTAB 34: PRINT SH(I):V = V +2: VTAB V: NEXT 
  140. 1670  NEXT : RETURN 
  141. 1680  REM  !bye!
  142. 1690  POKE 34,0
  143. 1700  HOME : CALL  -3092
  144. 1710  PRINT "This program copyright 1988 by"
  145. 1720  PRINT "Steve Luzynski": PRINT "3604 So 10th St Ct": PRINT "Blue Springs  MO 64015"
  146. 1730  PRINT : PRINT "Display program -HROUT- is from         Computes  Second book of Apple and the  charecter set was made with HRCG from   Apples DOS toolkit"
  147. 1740  PRINT : PRINT "If you liked this game and would like   to encourage me to write more send at   least 5 dollars to me at the above      address  You will get a note from me    enabling you to pick up the next game   or utility I write"
  148. 1750  PRINT "BEFORE anyone else gets it": PRINT 
  149. 1760  PRINT "Please distribute this game freely      with NO CHARGES except your distributioncharges which can not be over 5 dollars"
  150. 1770  PRINT "Thanks and watch for my next program"
  151. 1780  WAIT  -16384,128: POKE  -16368,0
  152. 1790  TEXT : HOME 
  153. 1800  END 
  154. 2000  FOR I = 768 TO 855
  155. 2010  READ D: POKE I,D: NEXT I
  156. 2020  RETURN 
  157. 2030  DATA 216,120,133,69,134
  158. 2040  DATA 70,132,71,166,7,10
  159. 2050  DATA 10,176,4,16,62,48
  160. 2060  DATA 4,16,1,232,232,10
  161. 2070  DATA 134,27,24,101,6,133
  162. 2080  DATA 26,144,2,230,27,165
  163. 2090  DATA 40,133,8,165,41,41
  164. 2100  DATA 3,5,230,133,9,162
  165. 2110  DATA 8,160,0,177,26,36
  166. 2120  DATA 50,48,2,73,127,164
  167. 2130  DATA 36,145,8,230,26,208
  168. 2140  DATA 2,230,27,165,9,24
  169. 2150  DATA 105,4,133,9,202,208
  170. 2160  DATA 226,165,69,166,70,164
  171. 2170  DATA 71,88,76,240,253
  172. 3000  FOR I = 36096 TO 36862
  173. 3010  READ D: POKE I,D: NEXT I
  174. 3020  RETURN 
  175. 3030  DATA 0,0,0,0,0
  176. 3040  DATA 0,0,0,152,188,251
  177. 3050  DATA 191,156,156,156,156,20
  178. 3060  DATA 20,20,0,0,0,0
  179. 3070  DATA 0,131,231,239,255,191
  180. 3080  DATA 191,191,159,8,60,10
  181. 3090  DATA 28,40,30,8,0,128
  182. 3100  DATA 191,224,207,216,211,212
  183. 3110  DATA 213,213,149,229,141,249
  184. 3120  DATA 131,254,128,213,212,211
  185. 3130  DATA 216,207,224,191,128,128
  186. 3140  DATA 128,128,240,248,252,254
  187. 3150  DATA 255,128,128,128,135,143
  188. 3160  DATA 159,191,255,255,254,252
  189. 3170  DATA 248,240,128,128,128,0
  190. 3180  DATA 8,8,62,8,8,0
  191. 3190  DATA 0,255,191,159,143,135
  192. 3200  DATA 128,128,128,0,0,0
  193. 3210  DATA 62,0,0,0,0,237
  194. 3220  DATA 210,194,192,192,252,254
  195. 3230  DATA 147,219,165,161,129,129
  196. 3240  DATA 159,191,249,62,34,50
  197. 3250  DATA 42,38,34,62,0,8
  198. 3260  DATA 12,8,8,8,8,28
  199. 3270  DATA 0,30,32,32,28,2
  200. 3280  DATA 2,62,0,30,32,32
  201. 3290  DATA 56,32,32,30,0,16
  202. 3300  DATA 18,18,18,62,16,16
  203. 3310  DATA 0,62,2,30,32,32
  204. 3320  DATA 32,30,0,60,2,2
  205. 3330  DATA 30,34,34,28,0,62
  206. 3340  DATA 32,16,8,4,2,2
  207. 3350  DATA 0,62,34,34,62,34
  208. 3360  DATA 34,62,0,62,34,34
  209. 3370  DATA 62,32,32,62,0,0
  210. 3380  DATA 0,8,0,8,0,0
  211. 3390  DATA 0,0,0,8,0,8
  212. 3400  DATA 8,4,0,128,254,131
  213. 3410  DATA 249,141,229,149,213,0
  214. 3420  DATA 0,62,0,62,0,0
  215. 3430  DATA 0,147,254,252,128,128
  216. 3440  DATA 128,128,128,28,34,16
  217. 3450  DATA 8,8,0,8,0,249
  218. 3460  DATA 191,159,128,128,128,128
  219. 3470  DATA 128,28,34,34,34,62
  220. 3480  DATA 34,34,0,62,34,34
  221. 3490  DATA 30,34,34,62,0,62
  222. 3500  DATA 34,2,2,2,34,62
  223. 3510  DATA 0,30,34,34,34,34
  224. 3520  DATA 34,30,0,62,2,2
  225. 3530  DATA 62,2,2,62,0,62
  226. 3540  DATA 2,2,62,2,2,2
  227. 3550  DATA 0,62,2,2,2,50
  228. 3560  DATA 34,62,0,34,34,34
  229. 3570  DATA 62,34,34,34,0,62
  230. 3580  DATA 8,8,28,8,8,62
  231. 3590  DATA 0,32,32,32,32,32
  232. 3600  DATA 34,62,0,34,50,26
  233. 3610  DATA 14,26,50,34,0,2
  234. 3620  DATA 2,2,2,2,2,62
  235. 3630  DATA 0,54,42,42,42,34
  236. 3640  DATA 34,34,0,34,34,38
  237. 3650  DATA 42,50,34,34,0,62
  238. 3660  DATA 34,34,34,34,34,62
  239. 3670  DATA 0,62,34,34,62,2
  240. 3680  DATA 2,2,0,62,34,34
  241. 3690  DATA 34,42,18,46,0,62
  242. 3700  DATA 34,34,62,10,18,34
  243. 3710  DATA 0,62,2,2,62,32
  244. 3720  DATA 32,62,0,62,8,8
  245. 3730  DATA 8,8,8,8,0,34
  246. 3740  DATA 34,34,34,34,34,62
  247. 3750  DATA 0,34,34,34,34,34
  248. 3760  DATA 20,8,0,34,34,34
  249. 3770  DATA 42,42,54,34,0,65
  250. 3780  DATA 65,34,20,8,20,34
  251. 3790  DATA 65,34,34,20,8,8
  252. 3800  DATA 8,8,0,62,32,16
  253. 3810  DATA 60,8,6,62,0,62
  254. 3820  DATA 6,6,6,6,6,62
  255. 3830  DATA 0,0,2,4,8,16
  256. 3840  DATA 32,0,0,62,48,48
  257. 3850  DATA 48,48,48,62,0,0
  258. 3860  DATA 0,8,20,34,0,0
  259. 3870  DATA 0,0,0,0,0,0
  260. 3880  DATA 0,0,127,4,8,16
  261. 3890  DATA 0,0,0,0,0,0
  262. 3900  DATA 0,28,34,62,34,34
  263. 3910  DATA 0,2,2,62,34,34
  264. 3920  DATA 34,62,0,0,0,60
  265. 3930  DATA 2,2,2,60,0,32
  266. 3940  DATA 32,62,34,34,34,62
  267. 3950  DATA 0,0,0,60,2,62
  268. 3960  DATA 2,60,0,60,4,4
  269. 3970  DATA 30,4,4,4,0,0
  270. 3980  DATA 0,62,34,34,62,32
  271. 3990  DATA 62,2,2,62,34,34
  272. 4000  DATA 34,34,0,8,0,12
  273. 4010  DATA 8,8,8,28,0,16
  274. 4020  DATA 0,24,16,16,16,18
  275. 4030  DATA 30,34,50,26,14,26
  276. 4040  DATA 50,34,0,12,8,8
  277. 4050  DATA 8,8,8,28,0,0
  278. 4060  DATA 0,20,42,42,34,34
  279. 4070  DATA 0,0,0,62,34,34
  280. 4080  DATA 34,34,0,0,0,62
  281. 4090  DATA 34,34,34,62,0,0
  282. 4100  DATA 0,62,34,34,62,2
  283. 4110  DATA 2,0,0,62,34,34
  284. 4120  DATA 62,32,32,0,0,30
  285. 4130  DATA 18,30,10,18,0,0
  286. 4140  DATA 0,62,2,62,32,62
  287. 4150  DATA 0,4,4,30,4,4
  288. 4160  DATA 36,60,0,0,0,34
  289. 4170  DATA 34,34,50,46,0,0
  290. 4180  DATA 0,34,34,34,20,8
  291. 4190  DATA 0,0,0,34,34,42
  292. 4200  DATA 42,54,0,0,0,34
  293. 4210  DATA 20,8,20,34,0,0
  294. 4220  DATA 0,34,34,34,62,32
  295. 4230  DATA 62,0,0,62,16,28
  296. 4240  DATA 4,62,0,56,12,12
  297. 4250  DATA 6,12,12,56,0,8
  298. 4260  DATA 8,8,8,8,8,8
  299. 4270  DATA 8,14,24,24,48,24
  300. 4280  DATA 24,14,0,252,254,255
  301. 4290  DATA 255,255,255,254,252,8
  302. 4300  DATA 62,42,8,42,28,34