home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Arcade / MOONDOG.SDA / MOONDOG (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  7.0 KB  |  159 lines

  1. 10 REM    MOONDOG-BY JC HILTY-8/86
  2. 12 POKE53280,0:POKE53281,0:PRINT"[147]"TAB(17)"MOONDOG"
  3. 13 PRINT""TAB(7)"PLEASE WAIT....READING DATA"
  4. 14 GOSUB800
  5. 15 GOSUB850
  6. 16 POKEV+21,255
  7. 18 GOSUB450:GOSUB300:GOSUB312
  8. 20 W1=PEEK(V+30):W2=PEEK(V+31)
  9. 30 LP=LP+1:IFLP=100THENPOKE2044,194:GOTO200
  10. 32 IFLP=85THENPOKE2044,193
  11. 34 SYS(J):IFST=0THEN38
  12. 35 IFPEEK(3)=4THENPOKE50443,255:POKE50688,32
  13. 36 IFPEEK(3)=8THENPOKE50443,1:POKE50688,32
  14. 37 FB=-((PEEK(56320)AND16)=0):IFFB=1THEN100
  15. 38 W1=PEEK(V+30):IFW1AND32THEN200
  16. 40 IFPEEK(V+9)<UPTHENPOKE50442,1:POKE50688,16
  17. 42 IFPEEK(V+9)>DOTHENPOKE50442,255:POKE50688,16
  18. 44 IFPEEK(V+8)>EATHENPOKE50441,255:POKE50688,16
  19. 46 IFPEEK(V+8)<WETHENPOKE50441,1:POKE50688,16
  20. 48 SYSC
  21. 50 GOTO30
  22. 99 REM    FIRE LASER
  23. 100 TB=INT(PEEK(V+10)/8.3):PRINT""TAB(TB);F$
  24. 104 W2=PEEK(V+31):IFW2AND16THEN110
  25. 106 PRINT""TAB(TB);A$:GOTO38
  26. 110 POKE50432,0:PRINT""TAB(TB);A$:POKE2044,198
  27. 112 SC=SC+100-LP:PRINT"[159]"TAB(8);SC:GOSUB300:W2=PEEK(V+31):POKE50432,63:GOTO38
  28. 199 REM    MOONDOG HIT
  29. 200 POKE50432,0:FORX=0TO24:POKES+X,0:NEXT:POKES+24,15:POKES+5,8:POKES+6,255
  30. 202 POKES+4,85:F1=100:F2=230:FORQ=1TO80:POKES,F1:POKE2045,198:POKES+15,F2
  31. 204 POKE2045,196:F2=F2-2:F1=F1*.99:NEXT:POKES+6,15
  32. 206 SH=SH-1:PRINT"[159]"TAB(34);SH:IFSH=0THEN400
  33. 208 GOTO18
  34. 299 REM    INITIALIZE ALIEN CRAFT
  35. 300 D=INT(2*RND(5)):IFD=0THENPOKE50441,1:GOTO304
  36. 302 POKE50441,255
  37. 304 D=INT(2*RND(5)):IFD=0THENPOKE50442,1:GOTO308
  38. 306 POKE50442,255
  39. 308 UP=INT(65*RND(5)+70):DO=INT(65*RND(6)+106)
  40. 310 EA=INT(84*RND(4)+148):WE=INT(84*RND(6)+64):POKE50688,16
  41. 311 POKEV+8,140:POKEV+9,120:POKE2044,192:LP=0:RETURN
  42. 312 POKEV,30:POKEV+1,30:POKEV+2,80
  43. 314 POKEV+3,30:POKEV+4,170:POKEV+5,30:POKEV+6,160:POKEV+7,30:POKEV+10,160
  44. 315 POKEV+11,198:POKE50443,0:POKE50688,32:POKE50432,63
  45. 316 RETURN
  46. 399 REM    GAME OVER
  47. 400 POKE50432,15:PRINT"[159]"TAB(11)"G A M E  O V E R":IFSC>HSTHENHS=SC
  48. 402 PRINT:PRINTTAB(11)"SCORE ";SC:PRINT:PRINTTAB(11)"HIGH SCORE ";HS:PRINT
  49. 404 FORX=0TO24:POKES+X,0:NEXT:POKES+24,15
  50. 406 A=15:Q=107:POKES+5,A:POKES+12,A:POKES+19,A:POKES+6,Q:POKES+13,Q
  51. 408 POKES+20,Q:POKES+14,30:POKES+15,60:POKES+4,33:POKES+11,23
  52. 410 POKES+18,23:FORF1=40TO80STEP1:POKES+1,F1
  53. 412 FORF2=60TO31STEP-5:POKES+8,F2:NEXTF2:NEXTF1
  54. 414 POKES+4,32:POKES+11,32:POKES+18,32:FORT=0TO2000:NEXT
  55. 416 PRINTTAB(11)"PLAY AGAIN--Y OR N"
  56. 418 GETJK$:IFJK$<>""THEN418
  57. 420 GETP$:IFP$=""THENSYSC:GOTO420
  58. 422 IFP$="Y"THEN426
  59. 424 END
  60. 426 POKE50432,0:SC=0:SH=4:GOSUB850:GOTO18
  61. 450 FORX=0TO24:POKES+X,0:NEXT:POKES+24,15:POKES+12,160:POKES+13,252
  62. 452 POKES+8,80:POKES+7,40:POKES+11,129
  63. 454 RETURN
  64. 800 FORX=49152TO49528:READA:POKEX,A:NEXT
  65. 802 FORX=50880TO51116:READA:POKEX,A:NEXT
  66. 804 FORX=828TO848:READA:POKEX,A:NEXT
  67. 806 FORX=12288TO12734:READA:POKEX,A:NEXT
  68. 808 POKE50432,0:SYS51104
  69. 810 POKE50433,254:POKE50434,1:POKE50435,0:POKE50436,1:POKE50437,2:POKE50438,1
  70. 812 POKE50439,0:POKE50440,2:POKE50441,0:POKE50442,0:POKE50443,0:POKE50444,0
  71. 813 POKE50688,63
  72. 814 F$="[158][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145][181][157][145]"
  73. 815 A$=" [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] [157][145] "
  74. 816 V=53248:S=54272:LP=0:HS=0:SC=0:SH=4:C=49152:J=828
  75. 818 FORX=2040TO2043:POKEX,197:NEXT:POKE2044,192:POKE2045,196:POKE2046,195
  76. 820 POKE2047,195:FORX=39TO42:POKEV+X,15:NEXT
  77. 822 POKEV+43,8:POKEV+44,14:POKEV+45,8:POKEV+46,8:POKEV+28,240:POKEV+29,240
  78. 824 POKEV+37,7:POKEV+38,0:POKEV,40:POKEV+1,30:POKEV+2,80:POKEV+16,128
  79. 826 POKEV+3,30:POKEV+4,140:POKEV+5,30:POKEV+6,160:POKEV+7,30:POKEV+8,140
  80. 828 POKEV+9,120:POKEV+10,160:POKEV+11,198:POKEV+12,30:POKEV+13,198
  81. 830 POKEV+14,24:POKEV+15,198
  82. 832 RETURN
  83. 849 REM    PLAYING SCREEN
  84. 850 PRINT"[147][156]M  MOONDOG  MOONDOG  MOONDOG  MOONDOG [156]M"
  85. 852 PRINT"O[146]  [159]SCORE";SC;TAB(17)"MOONDOG[146]     SHIPS";SH;TAB(38)"[156]O"
  86. 854 PRINT"O"TAB(38)"O":PRINT"N"TAB(38)"N":PRINT"D"TAB(38)"D"
  87. 856 PRINT"O"TAB(38)"O":PRINT"G"TAB(38)"G":PRINT" "TAB(38)" "
  88. 858 PRINT"M"TAB(38)"M":PRINT"O"TAB(38)"O":PRINT"O"TAB(38)"O"
  89. 860 PRINT"N"TAB(38)"N":PRINT"D"TAB(38)"D":PRINT"O"TAB(38)"O"
  90. 862 PRINT"G"TAB(38)"G":PRINT" "TAB(38)" ":PRINT"M"TAB(38)"M"
  91. 863 PRINT"O"TAB(38)"O":PRINT"O"TAB(38)"O":PRINT"N"TAB(38)"N"
  92. 864 PRINT"[156]                                       "
  93. 865 PRINT"                                       "
  94. 866 PRINT"                                       "
  95. 868 PRINT"                                       "
  96. 870 RETURN
  97. 6310 REM SCROLL DATA
  98. 6315 DATA 174,114,193,224,3,144,3,76,117,192,188,114,193,140,121,193,174
  99. 6320 DATA 118,193,232,202,32,30,193,172,121,193,173,119,193,201,2,208,10
  100. 6325 DATA 169,32,72,173,33,208,72,76,50,192,177,90,72,177,92,72,204
  101. 6340 DATA 116,193,240,20,200,177,90,72,177,92,136,145,92,104,145,90,200
  102. 6350 DATA 204,116,193,208,238,240,18,136,177,90,72,177,92,200,145,92,104
  103. 6360 DATA 145,90,136,204,115,193,208,238,173,119,193,201,0,208,5,104,104
  104. 6370 DATA 76,111,192,104,145,92,104,145,90,236,117,193,208,160,96,172,116
  105. 6380 DATA 193,200,189,114,193,170,32,30,193,173,120,193,201,2,208,19,136
  106. 6390 DATA 169,32,153,122,193,173,33,208,153,162,193,204,115,193,208,239,240
  107. 6400 DATA 16,136,177,90,153,122,193,177,92,153,162,193,204,115,193,208,240
  108. 6410 DATA 236,117,193,240,37,202,32,30,193,172,116,193,200,136,177,90,72
  109. 6420 DATA 177,92,32,48,193,145,92,104,145,90,32,56,193,204,115,193,208
  110. 6430 DATA 234,236,117,193,208,221,240,46,202,206,118,193,232,32,30,193,172
  111. 6440 DATA 116,193,200,136,32,48,193,177,90,72,177,92,32,56,193,145,92
  112. 6450 DATA 104,145,90,204,115,193,208,234,236,118,193,208,221,238,118,193,232
  113. 6460 DATA 32,30,193,173,120,193,201,0,240,20,172,115,193,136,200,185,162
  114. 6470 DATA 193,145,92,185,122,193,145,90,204,116,193,208,240,96,189,89,193
  115. 6480 DATA 133,91,24,105,212,133,93,189,64,193,133,90,133,92,96,72,152
  116. 6490 DATA 24,105,40,168,104,96,72,152,56,233,40,168,104,96,0,40,80
  117. 6500 DATA 120,160,200,240,24,64,104,144,184,224,8,48,88,128,168,208,248
  118. 6510 DATA 32,72,112,152,192,4,4,4,4,4,4,4,5,5,5,5,5
  119. 6520 DATA 5,6,6,6,6,6,6,6,7,7,7,7,7,4,0,38,20,23,1,1
  120. 6530 REM    SPRITE MOVEMENT DATA
  121. 6540 DATA 169,255,45,0,198,240,16,169,0,141,0,198,162,21,189,0
  122. 6550 DATA 197,157,0,198,202,208,247,162,1,169,1,141,80,197,173,80
  123. 6560 DATA 197,45,0,197,240,3,76,243,198,232,232,14,80,197,208,238,76,49,234
  124. 6570 DATA 169,0,29,0,197,208,3,76,97,199,169,128,61
  125. 6580 DATA 0,197,240,48,254,0,198,208,40,222,255,207,76,144,199,80
  126. 6590 DATA 197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76
  127. 6600 DATA 43,199,173,16,208,77,80,197,141,16,208,189,0,197,157,0
  128. 6610 DATA 198,76,97,199,222,0,198,208,40,254,255,207,208,29,173,80
  129. 6620 DATA 197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76
  130. 6630 DATA 91,199,173,16,208,77,80,197,141,16,208,189,0,197,157,0
  131. 6640 DATA 198,169,0,232,29,0,197,208,3,76,140,199,169,128,61,0
  132. 6650 DATA 197,240,11,254,0,198,208,20,222,255,207,76,134,199,222,0
  133. 6660 DATA 198,208,9,254,255,207,189,0,197,157,0,198,202,76,233,198
  134. 6670 DATA 169,255,221,255,207,240,3,76,43,199,173,80,197,76,17,199
  135. 6680 DATA 120,169,192,141,20,3,169,198,141,21,3,88,96
  136. 6690 REM    JOYSTICK DATA
  137. 6700 DATA 173,0,220,41,31,73,31,133,3,173,1,220,73,255,133,2,5,3,133,144,96
  138. 6710 REM    SPRITE DATA
  139. 6720 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,152,0,0,32,0,0,0,0
  140. 6730 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  141. 6740 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,168,0
  142. 6750 DATA 2,170,0,10,154,128,2,170,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  143. 6760 DATA 0,0,0,0,0,0,0
  144. 6770 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,170,0,2,170,128,9,150,96
  145. 6780 DATA 170,170,170,10,85,160,2,170,128,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  146. 6790 DATA 0,0,0,0,0,0,0,0,0,0
  147. 6800 DATA 0,0,0,0,20,0,0,170,0,2,170,128,9,150,96,170,170,170,10,85,160
  148. 6810 DATA 2,170,128,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,3,255,192
  149. 6820 DATA 15,255,240,255,255,255,15,255,240,3,255,192,0,255,0,0
  150. 6830 DATA 0,130,0,0,130,0,2,170,128,0,255,0,128,215,2,170,215,170,128,215,2
  151. 6840 DATA 0,255,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,0,3,255,192
  152. 6850 DATA 0,60,0,192,255,3,255,255,255,192,255,3,0,60,0,0
  153. 6860 DATA 0,0,0,0,0,0,0,0,0,0,124,0,0,254,0,1,255,0,3,207,128,7,156,192
  154. 6870 DATA 15,60,224,14,127,224,14,60,224,15,14,224,15,188,224,7,255,192
  155. 6880 DATA 3,231,128,1,231,0,0,254,0,0,124,0,0,0,0,0,0,0,0,0,0,0
  156. 6890 DATA 0,0,0,76,1,0,0,128,4,32,4,32,0,48,0,8,0,0,0,32,48,80,0,130,3,12,0
  157. 6900 DATA 0,0,4,32,0,128,0,36,0,0,0,192,201,0,4,0,0,0,19,32,192,0,4,0,32,0,1
  158. 6910 DATA 4,192,0,0,4,8,0,0,0
  159.