home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1987 May / Ahoy_Magazine_87-05_1987_Double_L_Side_A.d64 / moondog (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  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.