home *** CD-ROM | disk | FTP | other *** search
/ Power Disk 64 1997 1 / Power_Disk_64_97-01_1997-05_Lagune_de_Side_B.d64 / burgenschlacht (.txt) next >
Commodore BASIC  |  2023-02-26  |  18KB  |  359 lines

  1. 10 printchr$(142)
  2. 30 :
  3. 100 rem"[214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214]"
  4. 110 rem"[214][214][214][214][214][214] burgenschlacht [214][214][214][214][214][214][214]"
  5. 120 rem"[214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214]"
  6. 130 rem"[214][214][214][214][214] copyright 19.4.82 [214][214][214][214][214]"
  7. 140 rem"[214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214]"
  8. 150 rem"[214][214][214][214][214][214][214] by peter menke [214][214][214][214][214][214]"
  9. 160 rem"[214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214][214]"
  10. 170 :
  11. 180 :
  12. 190 :
  13. 300 v=53248:poke v+33,11:poke v+32,0
  14. 310 s=54272
  15. 315 for i=0to24:pokes+i,0:next
  16. 321 pokes+24,15
  17. 322 pokes+0,0
  18. 323 pokes+1,0
  19. 324 pokes+6,240
  20. 327 pokes+5,255
  21. 328 pokes+4,33
  22. 410 :
  23. 420 :
  24. 500 rem ******** spielernamen *******
  25. 510 print"[147][155]";
  26. 511 print"                                        ";
  27. 512 print"             pm video games             ";
  28. 513 print"             presents :                 ";
  29. 514 print"             [198][198][198][198][198][198][198][198][198][198][198][198][198][198]             ";
  30. 515 print"             burgenschlacht             ";
  31. 520 print"             [197][197][197][197][197][197][197][197][197][197][197][197][197][197]             ";
  32. 525 print"[146]spielernamen:"
  33. 530 print"name: spieler links"
  34. 532 print"(bedienungstaste: space)"
  35. 534 input"";l2$
  36. 540 print"name: spieler rechts"
  37. 542 print"(bedienungstaste: shift space)"
  38. 544 input"";r2$
  39. 550 :
  40. 560 :
  41. 570 :
  42. 580 :
  43. 590 :
  44. 600 rem ******* spielplan *******
  45. 610 print"[147]":for i=0to24:print"[149]                                       ":next
  46. 620 gosub 1100
  47. 630 :
  48. 640 :
  49. 650 :
  50. 660 :
  51. 670 :
  52. 700 rem ******* toene *******
  53. 705 dim te(30),t(20,20),l(20,20),s(19)
  54. 706 restore
  55. 710 for i=1to27
  56. 720 read te(i)
  57. 730 next i
  58. 740 data 251,237,224,211,199,188,177,167
  59. 750 data 157,149,140,132,124,117,111,104
  60. 760 data 99,93,88,83,78,73,69,65,61,57,0
  61. 761 :
  62. 762 rem **** schlussmelodie *****
  63. 763 for i=1to19
  64. 764 read s(i)
  65. 765 next
  66. 766 :
  67. 767 data 100,15,107,15,110,15,117,15,110,15,120,15,127,15,130,15,137,15,140
  68. 770 :
  69. 780 :
  70. 790 :
  71. 800 :
  72. 805 nl(1)=1:nl(2)=2:nl(3)=4
  73. 810 ta=2
  74. 820 n=int(3*rnd(1)+1)
  75. 830 for i=1tota
  76. 835 tp=te(int(25*rnd(1)+1))
  77. 840 for ii=1to nl(n)
  78. 850 t(i,ii)=tp
  79. 860 l(i,ii)=nl(n)
  80. 870 next ii
  81. 880 next i
  82. 890 :
  83. 910 goto 1400
  84. 915 :
  85. 920 for i=1tota
  86. 930 for ii=1ton
  87. 935 poke s+1,0
  88. 940 poke s+1,t(i,ii)
  89. 950 for p=1to100-l(i,ii)*2:next p
  90. 955 poke s+1,0
  91. 970 next ii
  92. 980 next i
  93. 990 return
  94. 1000 :
  95. 1070 :
  96. 1080 :
  97. 1090 :
  98. 1100 rem ====== spielplan ======
  99. 1110 :
  100. 1120 poke v+33,14:poke v+32,0
  101. 1130 for i=1to40
  102. 1140 poke 1023+i,230:poke 55295+i,0
  103. 1150 poke 1983+i,230:poke 56255+i,0
  104. 1160 next i
  105. 1170 :
  106. 1180 for i=0to24
  107. 1190 poke 1024+i*40,230:poke55296+i*40,0
  108. 1200 poke 1063+i*40,230:poke55335+i*40,0
  109. 1210 next i
  110. 1220 :
  111. 1224 print"[144][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
  112. 1225 print"[166][166][166][166][166][166][166][166][166][166][166][166] burgenschlacht [166][166][166][166][166][166][166][166][166][166][166]"
  113. 1226 print"[166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
  114. 1230 print"";
  115. 1240 print"[149][166][166][146] [166][146] [166][166][146]      [166][166] [166] [166][166]"
  116. 1250 print"[166][166][166][166][166][166][166][146]      [166][166][166][166][166][166][166]"
  117. 1260 print"[166][166][166][166][166][146]        [166][166][166][166][166]"
  118. 1270 print"[166][166][166][166][166][146]        [166][166][166][166][166]"
  119. 1280 print"[166][166][166][166][166][146]        [166][166][166][166][166]"
  120. 1290 print"[166][166][166][166][166][146]        [166][166][166][166][166]"
  121. 1300 print"[149]      [205][158][209][206][149] [149][166][166][166][166][166][146]        [166][166][166][166][166] [159][205][158][215][159][206][149]      "
  122. 1310 print"[149] [151][183][197][183][146][195][198][149] [221][149]  [149][166][166][166][166][166][146]        [166][166][166][166][166][149]  [159][221][149] [151][198][195][183][146][197][183] "
  123. 1320 print"[149]   [151][214][146][149]  [206][163][205][149] [149][166][166][216][149][166][166][146]        [166][166][159][216][149][166][166][149] [159][206][163][205][149]  [151][214][146][149]   "
  124. 1330 print"[153]               [223][146][149]      [153][169]               "
  125. 1340 print"                [223][146][149]    [153][169]                "
  126. 1350 print"                                      "
  127. 1355 print"                                      ":l9=0:r9=0
  128. 1356 print"";left$(l2$,12)
  129. 1358 print"punkte:";l9
  130. 1359 print"punkte:";r9
  131. 1360 print"";left$(r2$,11)
  132. 1361 return
  133. 1370 :
  134. 1380 :
  135. 1390 :
  136. 1400 rem ******** strings ********
  137. 1410 :
  138. 1420 l$="[149]    [157][157][157][157][205][158][209][206][149] [157][157][157][157][149] [221][149]  [157][157][157][157][206][163][205][149] "
  139. 1430 r$="[149]    [157][157][157][157][149] [159][205][158][215][159][206][157][157][157][157][149]  [159][221][149] [157][157][157][157][149] [159][206][163][205][149]"
  140. 1440 l1$="[151][205][205][223][146][205][149]"
  141. 1445 l3$="[149]    [149]"
  142. 1450 r1$="[151][206][145][169][146][145][206][145][206][149]"
  143. 1455 r3$="[149] [145] [145] [145] [149]"
  144. 1460 u$=""
  145. 1470 :
  146. 1480 :
  147. 1490 :
  148. 1500 rem *************************
  149. 1510 rem ****** hauptprogramm ****
  150. 1520 rem *************************
  151. 1530 :
  152. 1540 :
  153. 1560 :
  154. 1570 l=1626:poke l+80,81:l1=0
  155. 1575 get ll$:if ll$<>" " then 1575
  156. 1577 for ii=1to300:next
  157. 1580 for i=1to38
  158. 1585 for ii=1to50:next
  159. 1590 get ll$
  160. 1600 if ll$=" " then l1=l1+1
  161. 1610 if ll$<>" " then goto 1630
  162. 1615 pokes+1,int(6.7*l1)
  163. 1620 next i
  164. 1630 if l1=0 then pokel+80,32:goto 2200
  165. 1640 l2=l1/100
  166. 1642 poke s+1,100:fori=1to300:next:pokes+1,0
  167. 1650 print "";left$(u$,15);tab(7);l$;"[157][157][157][157][157]     "
  168. 1660 print "";left$(u$,14);tab(7);l$;"[157][157][157][157][157][149][198]    "
  169. 1670 print "";left$(u$,13);tab(6);l$;"[157][157][157][157][157]     "
  170. 1675 print "";left$(u$,12);tab(5);l$;"[157][157][157][157][157]     "
  171. 1680 print "";left$(u$,13);tab(5);l$
  172. 1690 print "";left$(u$,14);tab(5);l$
  173. 1700 pokel+80,32:poke l+40,81:pokel+40,32:pokel,81
  174. 1710 print "";left$(u$,18);"";"     "
  175. 1720 print "";left$(u$,16);"";l1$
  176. 1730 print "";left$(u$,15);tab(5);l$
  177. 1735 print "";left$(u$,15);tab(5);" [157] [157] [145][145]";l$
  178. 1737 print "";left$(u$,16);tab(6);" [157] [157] [145][145]";l$
  179. 1740 print "";left$(u$,16);"";l3$
  180. 1750 print "";left$(u$,18);"";"[151][183][197][183][146][195][198]"
  181. 1770 :
  182. 1810 :
  183. 1970 :
  184. 1990 :
  185. 2000 if l1>90*l2 then ll=-40:goto 2060
  186. 2010 if l1>70*l2 then ll=-39:goto2060
  187. 2020 if l1>20*l2 then ll=1:goto2060
  188. 2030 if l1>0     then ll=41:goto2060
  189. 2040 ll=40
  190. 2050 :
  191. 2060 l1=l1-1
  192. 2070 if peek(l+ll)=102 then pokel,32:l9=l9+1:l1=0:l2=0:goto 2130
  193. 2072 if peek(l+ll)=230 then pokel,32:l9=l9-1:l1=0:l2=0:goto 2130
  194. 2075 ifpeek(l+ll)=88thenpokel,32:l=l+ll:ss=l9:s$=l2$:vv=r9:v$=r2$:goto5000
  195. 2082 if peek(l+ll)=119 then l1=0:goto 2200
  196. 2085 ifpeek(l+ll)<>32thenpokel,32:l1=0:gosub920:goto2200
  197. 2090 poke l,32
  198. 2100 l=l+ll
  199. 2110 poke l,81
  200. 2120 goto2000
  201. 2122 :
  202. 2124 :
  203. 2130 if peek(l+1)=102 and ll<>1 then poke l+1,32:l9=l9+1:l3=l+1:gosub 3000
  204. 2135 if peek(l-1)=102 and peek(l+39) then poke l-1,32:l9=l9+1:l3=l-1:gosub3000
  205. 2140 if peek(l+1)=230 and ll<>1 then poke l+1,32:l9=l9-1:l3=l+1:gosub 3030
  206. 2145 if peek(l-1)=230 and peek(l+39) then poke l-1,32:l9=l9-1:l3=l-1:gosub3030
  207. 2150 if peek(l+ll)=102 then pokel+ll,32:gosub 3060
  208. 2160 if peek(l+ll)=230 then pokel+ll,32:gosub 3100
  209. 2200 :
  210. 2210 print"[153]punkte:";l9
  211. 2220 goto 3370
  212. 3000 if peek(l3-40)=102 then poke l3-40,32:l9=l9+1
  213. 3010 return
  214. 3020 :
  215. 3030 if peek(l3-40)=230 then poke l3-40,32:l9=l9-1
  216. 3040 return
  217. 3050 :
  218. 3060 l3=l+ll:gosub 3000:gosub 3200
  219. 3070 fori=1to50:poke s+1,int(255*rnd(1)):next:pokes+1,0
  220. 3080 return
  221. 3090 :
  222. 3100 l3=l+ll:gosub 3030:gosub 3240
  223. 3110 fori=1to255 step2:pokes+1,i:next:pokes+1,0
  224. 3120 return
  225. 3130 :
  226. 3200 if peek(l+ll+1)=102 and peek(l+ll+41)=32 then poke l=ll+1,32:l9=l9+1
  227. 3210 if peek(l+ll-1)=102 and peek(l+ll+39)=32 then poke l=ll-1,32:l9=l9+1
  228. 3220 return
  229. 3230 :
  230. 3240 if peek(l+ll+1)=230 and peek(l+ll+41)=32 then poke l=ll+1,32:l9=l9-1
  231. 3250 if peek(l+ll-1)=230 and peek(l+ll+39)=32 then poke l=ll-1,32:l9=l9-1
  232. 3260 return
  233. 3270 :
  234. 3280 :
  235. 3290 :
  236. 3300 :
  237. 3310 :
  238. 3350 rem ****** rechter spieler *****
  239. 3360 :
  240. 3370 r=1661:poke r+80,87:r1=0
  241. 3372 get rr$:if rr$<>"[160]" then 3372
  242. 3375 for ii=1to300:next
  243. 3380 for i=1to38
  244. 3385 for ii=1to50:next
  245. 3390 get rr$
  246. 3395 :
  247. 3400 if rr$="[160]" then r1=r1+1
  248. 3410 if rr$<>"[160]" then goto 3430
  249. 3415 pokes+1,int(6.7*r1)
  250. 3420 next i
  251. 3430 if r1=0 then poker+80,32:goto 3800
  252. 3440 r2=r1/100
  253. 3442 poke s+1,100:fori=1to300:next:pokes+1,0
  254. 3450 print "";left$(u$,15);tab(29);r$;"[157][157][157][157]    "
  255. 3460 print "";left$(u$,14);tab(29);r$;"[157][157][157][157]    "
  256. 3470 print "";left$(u$,13);tab(30);r$;"[157][157][157][157]    "
  257. 3475 print "";left$(u$,12);tab(31);r$;"[157][157][157][157]    "
  258. 3480 print "";left$(u$,13);tab(31);r$
  259. 3490 print "";left$(u$,14);tab(31);r$
  260. 3500 poker+80,32:poke r+40,87:poker+40,32:poker,87
  261. 3510 print "";left$(u$,18);tab(33);"     "
  262. 3520 print "";left$(u$,19);tab(34);r1$
  263. 3530 print "";left$(u$,15);tab(31);r$
  264. 3535 print "";left$(u$,15);tab(29);"[149]  [157][157] [157] [145][145][157][157][157][157][157]";r$
  265. 3537 print "";left$(u$,16);tab(29);"[149]  [157][157] [157] [145][145][157][157][157][157][157]";r$
  266. 3540 print "";left$(u$,19);tab(34);r3$
  267. 3550 print "";left$(u$,18);tab(33);"[151][198][195][183][146][197][183]"
  268. 3580 :
  269. 3600 if r1>90*r2 then rr=-40:goto 3660
  270. 3610 if r1>70*r2 then rr=-41:goto3660
  271. 3620 if r1>20*r2 then rr=-1:goto3660
  272. 3630 if r1>0     then rr=39:goto3660
  273. 3640 rr=40
  274. 3650 :
  275. 3660 r1=r1-1
  276. 3670 if peek(r+rr)=230 then poker,32:r9=r9+1:r1=0:r2=0:goto 3730
  277. 3672 if peek(r+rr)=102 then poker,32:r9=r9-1:r1=0:r2=0:goto 3730
  278. 3675 ifpeek(r+rr)=216thenpoker,32:r=r+rr:ss=r9:s$=r2$:vv=l9:v$=l2$:goto5000
  279. 3682 if peek(r+rr)=119 then r1=0:goto 3800
  280. 3685 ifpeek(r+rr)<>32thenpoker,32:r1=0:gosub 920:goto3800
  281. 3690 poke r,32
  282. 3700 r=r+rr
  283. 3710 poke r,87
  284. 3720 goto3600
  285. 3722 :
  286. 3724 :
  287. 3730 if peek(r-1)=230 and rr<>-1 then poke r-1,32:r9=r9+1:r3=r-1:gosub 3930
  288. 3735 if peek(r+1)=230 and peek(r+41)=32then poker+1,32:r9=r9+1:r3=r+1:gosub3930
  289. 3740 if peek(r-1)=102 and rr<>-1 then poke r-1,32:r9=r9-1:r3=r-1:gosub 3900
  290. 3745 if peek(r+1)=102 and peek(r+41)=32then poker+1,32:r9=r9-1:r3=r+1:gosub3900
  291. 3750 if peek(r+rr)=230 then poker+rr,32:gosub 4000
  292. 3760 if peek(r+rr)=102 then poker+rr,32:gosub 3960
  293. 3800 :
  294. 3810 print"[153]punkte:";r9
  295. 3820 goto 1570
  296. 3900 if peek(r3-40)=102 then poke r3-40,32:r9=r9-1
  297. 3910 return
  298. 3920 :
  299. 3930 if peek(r3-40)=230 then poke r3-40,32:r9=r9+1
  300. 3940 return
  301. 3950 :
  302. 3960 r3=r+rr:gosub 3900:gosub 4130
  303. 3970 fori=1to50:poke s+1,int(255*rnd(1)):next:pokes+1,0
  304. 3980 return
  305. 3990 :
  306. 4000 r3=r+rr:gosub 3930:gosub 4140
  307. 4010 fori=1to255 step2:pokes+1,i:next:pokes+1,0
  308. 4020 return
  309. 4030 :
  310. 4040 :
  311. 4050 :
  312. 4070 :
  313. 4090 :
  314. 4100 if peek(r+rr+1)=102 and peek(r+rr+41)=32 then poke r+rr+1,32:r9=r9-1
  315. 4110 if peek(r+rr-1)=102 and peek(r+rr+39)=32 then poke r+rr-1,32:r9=r9-1
  316. 4120 return
  317. 4130 :
  318. 4140 if peek(r+rr+1)=230 and peek(r+rr+41)=32 then poke r+rr+1,32:r9=r9+1
  319. 4150 if peek(r+rr-1)=230 and peek(r+rr+39)=32 then poke r+rr-1,32:r9=r9+1
  320. 4160 return
  321. 4170 :
  322. 4180 :
  323. 4190 :
  324. 4200 :
  325. 4210 :
  326. 4990 rem ******** spielende *******
  327. 5000 for ii=1to4
  328. 5010 for i=1to19
  329. 5020 poke s+1,s(i)
  330. 5030 for h=1to40:next
  331. 5040 next i
  332. 5050 next ii
  333. 5055 poke s+1,0
  334. 5060 print"[147][155]";:poke v+33,11:poke 32,0
  335. 5061 print"                                        ";
  336. 5062 print"             pm video games             ";
  337. 5063 print"             presents :                 ";
  338. 5064 print"             [198][198][198][198][198][198][198][198][198][198][198][198][198][198]             ";
  339. 5065 print"             burgenschlacht             ";
  340. 5066 print"             [197][197][197][197][197][197][197][197][197][197][197][197][197][197]             ";
  341. 5080 print"[146] der spieler ";left$(s$,11)
  342. 5085 print" hat gewonnen !"
  343. 5090 print" er hat";ss
  344. 5095 print" punkte erreicht."
  345. 5100 if ss<=q then 5130
  346. 5110 print" damit hat ";left$(s$,11)
  347. 5115 print" den rekord von"
  348. 5120 print"";q;"punkten gebrochen !!!":q=ss:goto 5140
  349. 5130 print" der rekord ist"q"punkte."
  350. 5140 print" der verlierer "v$" hat"vv"
  351. 5150 [153]" punkte erreicht."
  352. 5160 [153]" noch ein spiel (j/n) ?"
  353. 5170 [161] a$
  354. 5180 [139] a$[178]"j" [167] 5200
  355. 5190 [139] a$[178]"n" [167] [151]v[170]32,14:[151]v[170]33,6:[151]s[170]4,0:[153]"loadcont":[128]
  356. 5195 [137] 5170
  357. 5200 [153]"load":[129]i[178]0[164]25:[153]"verify                                       ":[130]
  358. 5210 [151] v[170]33,14:[141] 1100:[137] 800
  359.