home *** CD-ROM | disk | FTP | other *** search
/ Input 64 / Input_64_86-09_1986_Verlag_Heinz_Weise_de.d64 / maximal (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  236 lines

  1. 0 rem maximal ein spiel von thorsten bartel
  2. 1 rem (c) input 64
  3. 5 ifpeek(50307)<>120then10
  4. 6 poke50257,0
  5. 10 printchr$(147)chr$(142)chr$(8):poke53269,0
  6. 15 cd$=""
  7. 16 gosub9000:
  8. 20 dim b(10,10):a=9
  9. 60 gosub9650:a$=w$
  10. 70 ifa$="1"ora$="2"then80
  11. 75 ifa$="1"ora$="2"then80
  12. 78 goto60
  13. 80 print"[159][147]":print
  14. 85 poke53281,2:poke53280,2:poke650,128
  15. 90 ifa$="1"then160
  16. 100 print"der name vom 1.spieler ";:gosub9500:b1$=ww$
  17. 110 print"der name vom 2.spieler ";:gosub9500:b2$=ww$
  18. 120 print"[144]danke":fori=1to300:next
  19. 130 print"[159][147]":print
  20. 160 printspc(a);"[176][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][174]"
  21. 162 printspc(a);"[221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221]"
  22. 165 fori=1to09
  23. 190 printspc(a);"[171][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][219][192][179]"
  24. 195 printspc(a);"[221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221]"
  25. 200 nexti
  26. 210 printspc(a);"[173][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][189]"
  27. 220 rem fuellen mit zahlen ------------
  28. 230 p=1112-40
  29. 270 fori=1to 10
  30. 272 fori1=1to10
  31. 275 gosub400
  32. 280 c=p+(i*80)+(i1*2)
  33. 290 pokec,a+48:poke54272+c,7
  34. 294 ifa>128thena=(a-128)*-1
  35. 295 b(i,i1)=a
  36. 300 nexti1,i
  37. 310 goto500
  38. 400 a=int(rnd(1)*9)+1
  39. 410 a1=int(rnd(1)*2)+1
  40. 420 ifa1=1thenreturn
  41. 430 a=a+128:return
  42. 440 rem -------------------------------
  43. 500 ifa$="2"then 600
  44. 504 fori=1to19 :print"";:nexti
  45. 510 printspc(1)"ihre"spc(27)"meine"
  46. 515 print
  47. 520 printspc(1)"punkte"spc(25)"punkte"
  48. 530 goto700
  49. 600 fori=1to19 :print"";:nexti
  50. 610 b1$=left$(b1$,7):b2$=left$(b2$,7)
  51. 615 printspc(1)b1$chr$(141)"[145]"spc(32)b2$:print
  52. 620 printspc(1)"punkte"spc(25)"punkte"
  53. 700 ifa$="1"then750
  54. 710 printcd$"[159] "b1$" beginnt                       ";
  55. 720 gosub9650:print"[145]                                         "
  56. 730 goto800
  57. 750 printcd$"[159] sie beginnen                        ";
  58. 760 gosub9650:print"[145]                                         "
  59. 800 rem ------------sprite definition
  60. 810 v=53248
  61. 820 poke2040,192
  62. 830 pokev+39,0
  63. 840 pokev+29,1:pokev+23,1
  64. 850 pokev,100+32+32
  65. 860 pokev+1,137
  66. 870 fori=12288to12350:reads:pokei,s:nexti:pokev+21,1
  67. 900 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,126,0,0,231,0,1,195,128,1,129
  68. 910 data 128,1,129,128,1,129,128,1,195,128,0,231,0,0,126,0,0,60,0,0,0,0,0,0,0,0
  69. 920 data 0,0,0,0,0,0,0,0,0
  70. 950 ifa$="1"goto1400
  71. 999 rem anfang hauptprogramm---------------------------------------------------
  72. 1000 gosub 2000              :rem zug moeglich
  73. 1010 if ok$="nichts"then goto 8000
  74. 1020 gosub 3000              :rem joystick abfrage
  75. 1030 ifj1>10thengoto1100     :rem fire
  76. 1040 w=1:s=0:gosub4000       :rem sprite bewegen
  77. 1050 goto 1020
  78. 1100 gosub 2500              :rem pos belegt
  79. 1110 if p= 0 then gosub 6000 :goto1020
  80. 1120 k1=k1+p
  81. 1130 gosub 5000              :rem kontostand anzeigen
  82. 1140 gosub 2000
  83. 1160 ifs$="nichts"then goto 8000
  84. 1180 gosub3000
  85. 1190 ifj2>10 then1300
  86. 1200 w=0:s=1:gosub4000
  87. 1210 goto1180
  88. 1300 gosub2500
  89. 1310 if p= 0 then gosub 6000 :goto1180
  90. 1320 k2=k2+p
  91. 1330 gosub5000
  92. 1340 goto 1000
  93. 1400 rem computer gegen spieler-----------------------------------------------
  94. 1410 gosub2000
  95. 1420 b1$="sie":b2$="ihr c-64"
  96. 1430 ifok$="nichts"goto8000
  97. 1440 gosub3000
  98. 1450 ifj1>10goto1500
  99. 1460 w=1:s=0:gosub4000
  100. 1470 goto1440
  101. 1500 gosub2500
  102. 1510 ifp=0thengosub6000:goto1440
  103. 1520 k1=k1+p:gosub5000
  104. 1530 gosub2000
  105. 1540 ifs$="nichts"goto8000
  106. 1550 rem computer strategie ----------------------------------------
  107. 1555 i3=0:i4=0:i5=0:i6=0:i8=0:pokev+21,0
  108. 1560 fori=1to10
  109. 1570 : ifb(i,f)<>0thengosub1600
  110. 1575 nexti
  111. 1577 fori=1toe:pokev+1,41+(i*16):pokev+21,1:fori1=1to200:nexti1:nexti
  112. 1585 fori2=1to10:fori=1to200:nexti:pokev+21,1andnotpeek(v+21):nexti2
  113. 1590 k2=k2+b(e,f):gosub5000
  114. 1599 goto1410 :rem zurueck zum spieler -----------------------------
  115. 1600 fori1=1to10
  116. 1605 : i5=b(i,i1)
  117. 1610 : ifi5=0then1630
  118. 1615 : ifi1=fthen1630
  119. 1620 : ifi5>i6theni6=i5
  120. 1630 nexti1:gosub1650:i6=0:return
  121. 1650 i3=b(i,f)-i6
  122. 1660 ifi3>i4theni4=i3:e=i:return
  123. 1665 i8=i8+1:ifi8=1theni4=i3:e=i
  124. 1670 return
  125. 1999 rem ende hauptprogramm - anfang der unterprogramme -----------------------
  126. 2000 rem zug moeglich ??? ----------------------------------------------------
  127. 2005 e=int(peek(v+1)/16)-2
  128. 2010 f=int(peek(v)/16)-4
  129. 2020 fori=1to10
  130. 2030 ifb(e,i)<>0thenok$="ok":goto2050
  131. 2040 nexti:ok$="nichts"
  132. 2050 fori=1to10
  133. 2060 ifb(i,f)<>0thens$="ok":return
  134. 2070 nexti:s$="nichts":return
  135. 2500 rem pos belegt ----------------------------------------------------------
  136. 2510 e=int(peek(v+1)/16)-2
  137. 2520 f=int(peek(v)/16)-4
  138. 2540 p=b(e,f):return
  139. 3000 rem joystickabfrage - + cursortasten -------------------------------------
  140. 3005 getq$
  141. 3010 j1=peek(56321):j1=abs(j1-255)
  142. 3020 j2=peek(56320):j2=abs(127-j2)
  143. 3021 ifq$=chr$(13)thenj1=12:j2=12:return
  144. 3022 ifj1<>0thenreturn
  145. 3023 ifq$=chr$(157)thenj1=4:return
  146. 3024 ifq$=chr$(29)thenj1=8:return
  147. 3026 ifq$=chr$(17)thenj2=2:return
  148. 3028 ifq$=chr$(145)thenj2=1:return
  149. 3030 return
  150. 4000 rem sprite bewegen -------------------------------------------------------
  151. 4010 ifw=0then 4200
  152. 4020 ifj1=4goto4050
  153. 4025 ifj1=8goto4030
  154. 4027 return
  155. 4030 ifpeek(v)<228thenpokev,peek(v)+16
  156. 4040 return
  157. 4050 ifpeek(v)>96thenpokev,peek(v)-16
  158. 4060 return
  159. 4200 ifj2=1goto4250
  160. 4225 ifj2=2goto4230
  161. 4227 return
  162. 4230 ifpeek(v+1)<228-32thenpokev+1,peek(v+1)+16
  163. 4240 return
  164. 4250 ifpeek(v+1)>96-32thenpokev+1,peek(v+1)-16
  165. 4260 return
  166. 5000 rem kontostand anzeigen --------------------------------------------------
  167. 5010 print""cd$"                                       ";
  168. 5020 print""cd$" "k1"[145][145]"chr$(141)spc(33)""k2"";
  169. 5030 b(e,f)=0
  170. 5040 poke1072+(e*80)+(f*2),96
  171. 5050 return
  172. 6000 rem info ungueltiger zug -------------------------------------------------
  173. 6010 print"[144]            ungueltiger zug  [159] "
  174. 6020 fori=1to1000:nexti
  175. 6030 print"                                       "
  176. 6040 return
  177. 8000 rem gewonnen ------------------------------------------------------------
  178. 8010 ifk1>k2then goto8100
  179. 8020 fori=40to2step-1:poke53280,i:poke53281,i:nexti
  180. 8030 print""b2$" hat gewonnen               "
  181. 8040 gosub9650:pokev+21,0:run
  182. 8100 fori=40to2step-1:poke53280,i:poke53281,i:nexti
  183. 8105 ifb1$<>"sie"then8110
  184. 8106 print"       herzlichen glueckwunsch":print:print"        sie haben mich
  185. 8107 [137]8120
  186. 8110 [153]""b1$" hat gewonnen               "
  187. 8120 [141]9650:[151]v[170]21,0:[138]
  188. 8999 [143] eroeffnungsbild ------------------------------------------------------
  189. 9000 [151]53280,3 :[151]53281,3
  190. 9005 [153]"                         wait"
  191. 9010 [153]" sys                        wait"
  192. 9020 [153]" sys print                    print sys  wait"
  193. 9030 [153]" sys print open                  open print sys  wait"
  194. 9040 [153]" sys print open list                list open print sys  wait"
  195. 9050 [153]" sys print open list print#              print# list open print sys  wait"
  196. 9060 [153]" sys print open list print# poke            poke print# list open print sys  wait"
  197. 9070 [153]" sys print open list print# poke            poke print# list open print sys  wait"
  198. 9080 [153]" sys print open list print# poke  verify        verify  poke print# list open print sys  wait"
  199. 9090 [153]" sys print open list print# poke  verify stop       verify  poke print# list open print sys  wait"
  200. 9095 [153]" sys print open list print# poke  verify stop       verify  poke print# list open print sys  wait"
  201. 9097 [153]" sys print open list print# poke  verify stop       verify  poke print# list open print sys  wait"
  202. 9100 [153]" sys print open list print# poke  verify stop maxim verify  poke print# list open print sys  wait"
  203. 9110 [153]" sys print open list print# poke  verify stop       verify  poke print# list open print sys  wait"
  204. 9115 [153]" sys print open list print# poke  verify stop       verify  poke print# list open print sys  wait"
  205. 9117 [153]" sys print open list print# poke  verify stop       verify  poke print# list open print sys  wait"
  206. 9120 [153]" sys print open list print# poke  verify        verify  poke print# list open print sys  wait"
  207. 9130 [153]" sys print open list print# poke            poke print# list open print sys  wait"
  208. 9140 [153]" sys print open list print# poke            poke print# list open print sys  wait"
  209. 9150 [153]" sys print open list print#              print# list open print sys  wait"
  210. 9160 [153]" sys print open list                list open print sys  wait"
  211. 9170 [153]:[153]"stop      druecke 1 fuer einen spieler   "
  212. 9180 [153]"      druecke 2 fuer zwei  spieler   ";
  213. 9300 [142]
  214. 9500 [143] eingabestring nach ww$
  215. 9510 ww$[178]"":i[178]0:rv$[178][199](18)[170][199](32)[170][199](146)
  216. 9520 [153]rv$;
  217. 9530 [141]9650
  218. 9540 [139]w[178]13[167]9630
  219. 9550 [139]w[178]20[167]9610
  220. 9555 [139]i[177]6[167]9530
  221. 9560 [139]w[178]34[167]9530
  222. 9570 [139]w[177]32[175]w[179]96[167]9590
  223. 9580 [139]w[179]193[176]w[177]218[167]9530
  224. 9590 i[178]i[170]1:ww$[178]ww$[170]w$
  225. 9600 [153]"cmd cmd";w$;:[137]9520
  226. 9610 [139]i[179]1[167]9530
  227. 9620 i[178]i[171]1:ww$[178][200](ww$,i):[137]9600
  228. 9630 [153]"cmd "w$;:[142]
  229. 9640 [143]--------------------------
  230. 9650 [143] auf ein zeichen warten
  231. 9660 [151]198,0
  232. 9670 [161]w$:[139]w$[178]""[167]9670
  233. 9680 w[178][198](w$)
  234. 9690 [142]
  235. 9700 [143]--------------------------
  236.