home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 18 / Commodore_Disc_18_19xx_-_de.d64 / kontakte (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  16KB  |  897 lines

  1. 10 rem kontakte ******************c64
  2. 20 rem (p)11/87 by commodore welt ***
  3. 30 rem ******************************
  4. 40 rem (c)10/87 by g. kramer      ***
  5. 50 rem             emsdetten      ***
  6. 60 rem ******************************
  7. 70 rem basic 2.0                  ***
  8. 80 rem c64 + 1530/1541/1571       ***
  9. 90 rem ******************************
  10. 95 poke646,1:printchr$(147)"bitte warten..."
  11. 100 gosub7170
  12. 110 gosub4460
  13. 120 gosub6900
  14. 130 gosub6560
  15. 140 gosub5600
  16. 150 gosub3050
  17. 160 printchr$(147)
  18. 170 print"ein neues spiel ?[160](j/n)"
  19. 180 poke198,0
  20. 190 geta$
  21. 200 ifa$<>"j"then300
  22. 210 fori=1to8
  23. 220 forj=1to6
  24. 230 ms(i,j)=0
  25. 240 nextj,i
  26. 250 gosub7740
  27. 260 ru=0
  28. 270 az=0
  29. 280 gosub4460
  30. 290 goto130
  31. 300 ifa$<>"n"then190
  32. 310 pokev+21,0
  33. 320 gosub4760
  34. 330 poke53280,14
  35. 340 poke53281,6
  36. 350 printchr$(154)chr$(147)
  37. 360 end
  38. 370 ***************************
  39. 380 *** spielstand anzeigen ***
  40. 390 ***************************
  41. 400 printchr$(19)chr$(159)
  42. 410 printtab(24)e$(ms(ru,0))
  43. 420 fori=1toan
  44. 430 pokeze,i*3-2:pokesp,35:syscu
  45. 440 a=154
  46. 450 ifms(i,5)=1thena=150
  47. 460 ifi=ruthena=153
  48. 470 a$=str$(ms(i,1))
  49. 480 a$="....."+right$(a$,len(a$)-1)
  50. 490 printchr$(a)i
  51. 500 printtab(33)right$(a$,6)
  52. 510 next
  53. 520 a$=str$(ms(ru,4)+1)
  54. 530 a$=str$(ab*3)+" x"+a$
  55. 540 a$=right$("   "+a$,8)
  56. 550 pokeze,2:pokesp,24:syscu
  57. 560 printchr$(153)a$
  58. 570 return
  59. 580 *******************
  60. 590 *** acht karten ***
  61. 600 *******************
  62. 610 fori=1to8
  63. 620 ifru=1then660
  64. 630 a1=ms(i,3)
  65. 640 gosub900
  66. 650 goto670
  67. 660 gosub890
  68. 670 ms(i,2)=a1
  69. 680 ms(i,3)=a1
  70. 690 a1=i*3-3
  71. 700 a2=5
  72. 710 gosub770
  73. 720 next
  74. 730 return
  75. 740 **********************
  76. 750 *** setzen zeichen ***
  77. 760 **********************
  78. 770 pokef+a1,a2
  79. 780 pokeb+a1,ze(a0,a,1)
  80. 790 pokef+a1+1,a2
  81. 800 pokeb+a1+1,ze(a0,a,2)
  82. 810 pokef+a1+41,a2
  83. 820 pokeb+a1+41,ze(a0,a,3)
  84. 830 pokef+a1+40,a2
  85. 840 pokeb+a1+40,ze(a0,a,4)
  86. 850 return
  87. 860 ******************
  88. 870 *** auswaehlen ***
  89. 880 ******************
  90. 890 a1=int(rnd(0)*136)
  91. 900 a0=int(a1/4)
  92. 910 a=a1-4*a0+1
  93. 920 a0=a0+1
  94. 930 return
  95. 940 *********************
  96. 950 *** setzen sprite ***
  97. 960 *********************
  98. 970 pokev+21,peek(v+21)and254
  99. 980 ifpu=255then1020
  100. 990 pokev+1,50
  101. 1000 pokev,sn*24
  102. 1010 poke2040,13
  103. 1020 a0=int(ms(sn,2)/4)
  104. 1030 a1=ms(sn,2)-4*a0+1
  105. 1040 a0=a0+1
  106. 1050 poke251,ze(a0,a1,1)
  107. 1060 poke252,ze(a0,a1,2)
  108. 1070 poke253,ze(a0,a1,3)
  109. 1080 poke254,ze(a0,a1,4)
  110. 1090 sys51289
  111. 1100 pokev+39,7
  112. 1110 pokev+21,peek(v+21)or1
  113. 1120 return
  114. 1130 ************************
  115. 1140 *** eingabe abfragen ***
  116. 1150 ************************
  117. 1160 ei=0
  118. 1170 geta$
  119. 1180 ifa$<>chr$(140)then1210
  120. 1190 ei=140
  121. 1200 goto1350
  122. 1210 ifms(ru,0)<>3then1250
  123. 1220 ifa$=""then1350
  124. 1230 ei=asc(a$)
  125. 1240 goto1350
  126. 1250 poke56322,224
  127. 1260 a=peek(56320)
  128. 1270 ifms(ru,0)=1thena=peek(56321)
  129. 1280 poke56322,255
  130. 1290 if(aand1)=0thenei=145
  131. 1300 if(aand2)=0thenei=17
  132. 1310 if(aand4)=0thenei=157
  133. 1320 if(aand8)=0thenei=29
  134. 1330 if(aand16)=0thenei=ei+32
  135. 1340 ifei=177thenei=94
  136. 1350 return
  137. 1360 ********************
  138. 1370 *** drehen karte ***
  139. 1380 ********************
  140. 1390 a0=int(ms(sn,2)/4)
  141. 1400 a1=ms(sn,2)-4*a0
  142. 1410 a1=a1+1
  143. 1420 ifa1=4thena1=0
  144. 1430 a1=a1+4*a0
  145. 1440 ms(sn,2)=a1
  146. 1450 gosub970
  147. 1460 a1=ms(sn,2)
  148. 1470 gosub900
  149. 1480 a2=5
  150. 1490 a1=sn*3-3
  151. 1500 gosub770
  152. 1510 return
  153. 1520 *********************
  154. 1530 *** karte bewegen ***
  155. 1540 *********************
  156. 1550 fori=1to200:next
  157. 1560 pokev+21,peek(v+21)or1
  158. 1570 gosub1160
  159. 1580 ifei<>0then1630
  160. 1590 fori=1to200:next
  161. 1600 pokev+21,peek(v+21)and254
  162. 1610 gosub1160
  163. 1620 ifei=0then1550
  164. 1630 pokev+21,peek(v+21)or1
  165. 1640 return
  166. 1650 *********************
  167. 1660 *** karte ablegen ***
  168. 1670 *********************
  169. 1680 a=int((a-24)/8+.5)
  170. 1690 a0=(a0-50)/8
  171. 1700 a2=40*a0+a
  172. 1710 gosub2210
  173. 1720 ifpu=0then2170
  174. 1730 a3=5
  175. 1740 if((a+a0)and2)=0thena3=13
  176. 1750 a1=ms(sn,2)
  177. 1760 gosub900
  178. 1770 a1=a2
  179. 1780 a2=a3
  180. 1790 gosub770
  181. 1800 a=0:a0=0
  182. 1810 a1=sn*3-3
  183. 1820 gosub770
  184. 1830 ms(sn,2)=255
  185. 1840 gosub7920
  186. 1850 fori=1topu
  187. 1860 a=(ms(ru,4)+1)*ab
  188. 1870 ms(ru,1)=ms(ru,1)+a
  189. 1880 t1=(i*150+3000)
  190. 1890 gosub7980
  191. 1900 gosub2970
  192. 1910 next
  193. 1920 gosub7920
  194. 1930 ms(ru,6)=ms(ru,6)+1
  195. 1940 a0=ms(ru,6)-1
  196. 1950 ifa0<130then2170
  197. 1960 a=az*4+ab-a0
  198. 1970 a=(a0-129)*100-10*a
  199. 1980 ifa<10then2170
  200. 1990 b$="bonus"+str$(a)
  201. 2000 t1=1000
  202. 2010 fori=1toastep10
  203. 2020 pokeze,2:pokesp,0:syscu
  204. 2030 printchr$(5)b$
  205. 2040 ms(ru,1)=ms(ru,1)+10
  206. 2050 t1=25+t1
  207. 2060 gosub7980
  208. 2070 printchr$(145)chr$(30)b$
  209. 2080 gosub2970
  210. 2090 next
  211. 2100 gosub7920
  212. 2110 a$=""
  213. 2120 fori=1to11
  214. 2130 a$=a$+chr$(32)
  215. 2140 next
  216. 2150 pokeze,2:pokesp,0:syscu
  217. 2160 printa$
  218. 2170 return
  219. 2180 **********************
  220. 2190 *** pruefen ablage ***
  221. 2200 **********************
  222. 2210 pu=0
  223. 2220 ifpeek(b+a2)<>32then2610
  224. 2230 a$="0"
  225. 2240 a1=peek(b+sn*3-3)
  226. 2250 a3=peek(b+a2-1)
  227. 2260 a4=peek(f+a2-1)
  228. 2270 ifa3<>32thengosub2670
  229. 2280 ifpu=255then2610
  230. 2290 a3=peek(b+a2-40)
  231. 2300 a4=peek(f+a2-40)
  232. 2310 ifa3<>32thengosub2850
  233. 2320 ifpu=255then2610
  234. 2330 a1=peek(b+sn*3-2)
  235. 2340 a3=peek(b+a2-39)
  236. 2350 a4=peek(f+a2-39)
  237. 2360 ifa3<>32thengosub2850
  238. 2370 ifpu=255then2610
  239. 2380 a3=a1
  240. 2390 a1=peek(b+a2+2)
  241. 2400 a4=peek(f+a2+2)
  242. 2410 ifa1<>32thengosub2670
  243. 2420 ifpu=255then2610
  244. 2430 a3=peek(b+sn*3+38)
  245. 2440 a1=peek(b+a2+42)
  246. 2450 a4=peek(f+a2+42)
  247. 2460 ifa1<>32thengosub2670
  248. 2470 ifpu=255then2610
  249. 2480 a1=peek(b+a2+81)
  250. 2490 a4=peek(f+a2+81)
  251. 2500 ifa1<>32thengosub2850
  252. 2510 ifpu=255then2610
  253. 2520 a3=peek(b+sn*3+37)
  254. 2530 a1=peek(b+a2+80)
  255. 2540 a4=peek(f+a2+80)
  256. 2550 ifa1<>32thengosub2850
  257. 2560 ifpu=255then2610
  258. 2570 a1=a3
  259. 2580 a3=peek(b+a2+39)
  260. 2590 a4=peek(f+a2+39)
  261. 2600 ifa3<>32thengosub2670
  262. 2610 ifpu=255thenpu=0
  263. 2620 ifa$="0"thenpu=0
  264. 2630 return
  265. 2640 ************************
  266. 2650 *** links und rechts ***
  267. 2660 ************************
  268. 2670 if(a1=203)or(a1=201)then2720
  269. 2680 ifa1=192then2720
  270. 2690 if(a3=192)or(a3=202)then2740
  271. 2700 ifa3=213then2740
  272. 2710 goto2810
  273. 2720 if(a3=202)or(a3=213)then2760
  274. 2730 ifa3=192then2760
  275. 2740 pu=255
  276. 2750 goto2810
  277. 2760 pu=pu+3
  278. 2770 if(a4and15)=2then2800
  279. 2780 a$="1"
  280. 2790 goto2810
  281. 2800 ms(ru,4)=ms(ru,4)+10
  282. 2810 return
  283. 2820 **********************
  284. 2830 *** oben und unten ***
  285. 2840 **********************
  286. 2850 if(a1=203)or(a1=202)then2900
  287. 2860 ifa1=194then2900
  288. 2870 if(a3=201)or(a3=213)then2920
  289. 2880 ifa3=194then2920
  290. 2890 goto2930
  291. 2900 if(a3=201)or(a3=213)then2760
  292. 2910 ifa3=194then2760
  293. 2920 pu=255
  294. 2930 return
  295. 2940 ************************
  296. 2950 *** zaehler ausgeben ***
  297. 2960 ************************
  298. 2970 pokeze,ru*3-1:pokesp,33:syscu
  299. 2980 a$=str$(ms(ru,1))
  300. 2990 a$="....."+right$(a$,len(a$)-1)
  301. 3000 printchr$(153)right$(a$,6)
  302. 3010 return
  303. 3020 ********************
  304. 3030 *** spiel laeuft ***
  305. 3040 ********************
  306. 3050 ru=ru+1
  307. 3060 ab=1
  308. 3070 ifru>anthenru=1
  309. 3080 ifru=1thenaz=az+1
  310. 3090 ifms(ru,6)>144thenms(ru,5)=1
  311. 3100 a=0
  312. 3110 fori=1toan
  313. 3120 a=a+ms(i,5)
  314. 3130 next
  315. 3140 ifa=anthen4370
  316. 3150 ifru=1then3170
  317. 3160 ifms(ru,5)=1then4310
  318. 3170 gosub610
  319. 3180 ifms(ru,5)=1then4310
  320. 3190 gosub400
  321. 3200 poke251,0
  322. 3210 poke252,220+4*ru
  323. 3220 poke253,161
  324. 3230 poke254,4
  325. 3240 sys51234
  326. 3250 sn=1
  327. 3260 gosub970
  328. 3270 pokeze,2:pokesp,24:syscu
  329. 3280 a$=str$(ms(ru,4)+1)
  330. 3290 a$=str$(ab*3)+" x"+a$
  331. 3300 a$=right$("   "+a$,8)
  332. 3310 printchr$(153)a$
  333. 3320 gosub1550
  334. 3330 ifei<>94then3370
  335. 3340 ms(ru,4)=ms(ru,4)-5+ab
  336. 3350 ifms(ru,4)<0thenms(ru,4)=0
  337. 3360 goto4310
  338. 3370 ifei<>140then3540
  339. 3380 poke198,0
  340. 3390 pokeze,2:pokesp,24:syscu
  341. 3400 printchr$(5)"ende?j/n"
  342. 3410 t1=3000
  343. 3420 gosub7980
  344. 3430 geta$
  345. 3440 t1=5000
  346. 3450 gosub7980
  347. 3460 pokeze,2:pokesp,24:syscu
  348. 3470 printchr$(144)"ende?j/n"
  349. 3480 if(a$<>"n")and(a$<>"j")then3390
  350. 3490 gosub7920
  351. 3500 ifa$="j"then3520
  352. 3510 goto3320
  353. 3520 ms(ru,5)=1
  354. 3530 goto4310
  355. 3540 ifei<>32then3570
  356. 3550 gosub1390
  357. 3560 goto3320
  358. 3570 ifei<>29then3620
  359. 3580 sn=sn+1
  360. 3590 ifsn=9thensn=1
  361. 3600 ifms(sn,2)=255then3580
  362. 3610 goto3260
  363. 3620 ifei<>157then3670
  364. 3630 sn=sn-1
  365. 3640 ifsn=0thensn=8
  366. 3650 ifms(sn,2)=255then3630
  367. 3660 goto3260
  368. 3670 ifei<>17then3320
  369. 3680 pokev,144
  370. 3690 pokev+1,162
  371. 3700 gosub1550
  372. 3710 a=peek(v)
  373. 3720 a0=peek(v+1)
  374. 3730 ifei<>94then3790
  375. 3740 ms(ru,1)=ms(ru,1)-5*az
  376. 3750 ifms(ru,1)<0thenms(ru,1)=0
  377. 3760 gosub7810
  378. 3770 gosub2970
  379. 3780 goto4220
  380. 3790 ifei<>17then3850
  381. 3800 ifa0=226then3700
  382. 3810 fori=a0toa0+16
  383. 3820 pokev+1,i
  384. 3830 next
  385. 3840 goto3700
  386. 3850 ifei<>29then3930
  387. 3860 ifa=255then3700
  388. 3870 a1=16
  389. 3880 ifa=240thena1=15
  390. 3890 fori=atoa+a1
  391. 3900 pokev,i
  392. 3910 next
  393. 3920 goto3700
  394. 3930 ifei<>157then4010
  395. 3940 ifa=32then3700
  396. 3950 a1=16
  397. 3960 ifa=255thena1=15
  398. 3970 fori=atoa-a1step-1
  399. 3980 pokev,i
  400. 3990 next
  401. 4000 goto3700
  402. 4010 ifei<>145then4070
  403. 4020 ifa0=82then3700
  404. 4030 fori=a0toa0-16step-1
  405. 4040 pokev+1,i
  406. 4050 next
  407. 4060 goto3700
  408. 4070 ifei<>32then3700
  409. 4080 gosub1680
  410. 4090 ifpu>0then4180
  411. 4100 pu=255
  412. 4110 gosub1390
  413. 4120 ms(ru,1)=ms(ru,1)-7*az
  414. 4130 ifms(ru,1)<0thenms(ru,1)=0
  415. 4140 gosub7810
  416. 4150 gosub2970
  417. 4160 pu=0
  418. 4170 goto3700
  419. 4180 pokev+21,peek(v+21)and254
  420. 4190 sn=sn+1
  421. 4200 ifsn=9thensn=1
  422. 4210 ifms(sn,2)=255then4190
  423. 4220 ab=ab+1
  424. 4230 ms(ru,4)=ms(ru,4)-1
  425. 4240 ifms(ru,4)<0thenms(ru,4)=0
  426. 4250 ifab<5then3260
  427. 4260 pokev+21,0
  428. 4270 fori=0to22
  429. 4280 pokef+i,0
  430. 4290 pokef+40+i,0
  431. 4300 next
  432. 4310 poke251,161
  433. 4320 poke252,4
  434. 4330 poke253,0
  435. 4340 poke254,220+4*ru
  436. 4350 sys51234
  437. 4360 goto3050
  438. 4370 pokeze,2:pokesp,0:syscu
  439. 4380 printchr$(5)"spielende - (taste)"
  440. 4390 geta$:ifa$=""then4390
  441. 4400 gosub7920
  442. 4410 gosub5020
  443. 4420 return
  444. 4430 ***********************
  445. 4440 *** lesen highscore ***
  446. 4450 ***********************
  447. 4460 open15,8,15
  448. 4470 open3,8,3,"0:h.s. kontakte,u,r"
  449. 4480 input#15,a,a$,a0,a1
  450. 4490 ifa=0thenhs=1:goto4620
  451. 4500 close3:close15
  452. 4510 printchr$(147)a;a$;a0;a1
  453. 4520 print
  454. 4530 print"wenn highscore vorhanden,"
  455. 4540 print"diskette einlegen und"
  456. 4550 print"'j' eingeben."
  457. 4560 print
  458. 4570 print"sonst 'n' eingeben."
  459. 4580 geta$
  460. 4590 ifa$="j"then4460
  461. 4600 ifa$<>"n"then4580
  462. 4610 hs=0
  463. 4620 a$="    "
  464. 4630 a=0
  465. 4640 fori=1to20
  466. 4650 ifhs=0then4670
  467. 4660 input#3,a$,a
  468. 4670 hs$(i)=a$
  469. 4680 hs(i)=a
  470. 4690 next
  471. 4700 close3:close15
  472. 4710 ifhs=1thengosub4760
  473. 4720 return
  474. 4730 **************************
  475. 4740 *** anzeigen highscore ***
  476. 4750 **************************
  477. 4760 printchr$(147)chr$(30)
  478. 4770 printspc(15)"ehrentafel"
  479. 4780 print:print
  480. 4790 a$=""
  481. 4800 fori=1to7
  482. 4810 a$=a$+chr$(32)
  483. 4820 next
  484. 4830 fori=1to10
  485. 4840 a0$=right$(a$+str$(hs(i)),7)
  486. 4850 a1$=right$(a$+str$(hs(i+10)),7)
  487. 4860 ifhs(i)=0thena0$=a$
  488. 4870 ifhs(i+10)=0thena1$=a$
  489. 4880 printspc(6)hs$(i)spc(1)a0$;
  490. 4890 printspc(1)chr$(122)chr$(122);
  491. 4900 printspc(1)hs$(i+10)spc(1)a1$
  492. 4910 next
  493. 4920 pokeze,22:pokesp,0:syscu
  494. 4930 print"weiter = return"
  495. 4940 poke198,0
  496. 4950 geta$
  497. 4960 ifa$<>chr$(13)then4950
  498. 4970 printchr$(147)
  499. 4980 return
  500. 4990 ************************
  501. 5000 *** update highscore ***
  502. 5010 ************************
  503. 5020 printchr$(147)
  504. 5030 pokev+21,0
  505. 5040 pokeze,10:pokesp,13:syscu
  506. 5050 print"namen eingeben"
  507. 5060 print
  508. 5070 fori=1toan
  509. 5080 ifms(i,1)<hs(20)then5300
  510. 5090 a0$=""
  511. 5100 poke198,0
  512. 5110 printspc(13)"spieler"i" = ";
  513. 5120 forj=1to4
  514. 5130 geta$
  515. 5140 ifa$=chr$(13)thenj=4:goto5190
  516. 5150 ifa$<chr$(35)then5130
  517. 5160 ifa$>chr$(90)then5130
  518. 5170 printa$;
  519. 5180 a0$=a0$+a$
  520. 5190 next
  521. 5200 forj=19to1step-1
  522. 5210 hs$(j+1)=hs$(j)
  523. 5220 hs(j+1)=hs(j)
  524. 5230 a=j+1
  525. 5240 ifms(i,1)>hs(j)thena=j
  526. 5250 hs(a)=ms(i,1)
  527. 5260 hs$(a)=left$(a0$+"    ",4)
  528. 5270 ifa<>jthenj=0
  529. 5280 next
  530. 5290 print
  531. 5300 next
  532. 5310 gosub4760
  533. 5320 printchr$(147)
  534. 5330 ifhs=0then5370
  535. 5340 open1,8,15
  536. 5350 print#1,"s:h.s. kontakte"
  537. 5360 close1
  538. 5370 open15,8,15
  539. 5380 open3,8,3,"0:h.s. kontakte,u,w"
  540. 5390 poke198,0
  541. 5400 input#15,a,a$,a0,a1
  542. 5410 ifa=0then5510
  543. 5420 close3:close15
  544. 5430 printchr$(147)a,a$,a0,a1
  545. 5440 print"wenn highscore gewuenscht,"
  546. 5450 print"diskette einlegen und"
  547. 5460 print"'j' eingeben."
  548. 5470 print"sonst 'n' eingeben."
  549. 5480 geta$:ifa$="n"then5560
  550. 5490 ifa$="j"then5340
  551. 5500 goto5480
  552. 5510 fori=1to20
  553. 5520 ifhs(i)=0thenhs$(i)="    "
  554. 5530 print#3,hs$(i);chr$(13);hs(i)
  555. 5540 next
  556. 5550 close3:close15
  557. 5560 return
  558. 5570 *********************
  559. 5580 *** bild aufbauen ***
  560. 5590 *********************
  561. 5600 printchr$(147)
  562. 5610 gosub7810
  563. 5620 pokef+120,4
  564. 5630 pokeb+120,85
  565. 5640 a=121:a0=150
  566. 5650 a1=4:a2=64
  567. 5660 a3=1
  568. 5670 gosub6480
  569. 5680 pokef+151,4
  570. 5690 pokeb+151,73
  571. 5700 a=191:a0=951
  572. 5710 a2=66:a3=40
  573. 5720 gosub6480
  574. 5730 pokef+991,4
  575. 5740 pokeb+991,75
  576. 5750 a=990:a0=961
  577. 5760 a2=64:a3=-1
  578. 5770 gosub6480
  579. 5780 pokef+960,4
  580. 5790 pokeb+960,74
  581. 5800 a=920:a0=160
  582. 5810 a2=66:a3=-40
  583. 5820 gosub6480
  584. 5830 pokef+32,5
  585. 5840 pokeb+32,85
  586. 5850 a=33:a0=38
  587. 5860 a1=5
  588. 5870 a2=64:a3=1
  589. 5880 gosub6480
  590. 5890 pokef+39,5
  591. 5900 pokeb+39,73
  592. 5910 a=79:a0=an*120-1
  593. 5920 a2=66:a3=40
  594. 5930 gosub6480
  595. 5940 pokef+a0+40,5
  596. 5950 pokeb+a0+40,75
  597. 5960 a=a0+39:a0=a0+34
  598. 5970 a2=64:a3=-1
  599. 5980 gosub6480
  600. 5990 pokef+a0-1,5
  601. 6000 pokeb+a0-1,74
  602. 6010 a=a0-41:a0=72
  603. 6020 a2=66:a3=-40
  604. 6030 gosub6480
  605. 6040 a0$=chr$(171)
  606. 6050 fori=1to6
  607. 6060 a0$=a0$+chr$(99)
  608. 6070 next
  609. 6080 a0$=a0$+chr$(179)
  610. 6090 fori=1toan
  611. 6100 pokeze,3*i-2:pokesp,35:syscu
  612. 6110 printi
  613. 6120 a$=str$(ms(i,1))
  614. 6130 a$="....."+right$(a$,len(a$)-1)
  615. 6140 printtab(33)right$(a$,6)
  616. 6150 ifi=anthen6170
  617. 6160 printtab(32)a0$
  618. 6170 next
  619. 6180 printchr$(19)chr$(159);
  620. 6190 printtab(24)"eingabe:"
  621. 6200 gosub890
  622. 6210 a1=575
  623. 6220 a2=13
  624. 6230 gosub770
  625. 6240 a2=2
  626. 6250 gosub890
  627. 6260 a1=243
  628. 6270 gosub770
  629. 6280 gosub890
  630. 6290 a1=267
  631. 6300 gosub770
  632. 6310 gosub890
  633. 6320 a1=803
  634. 6330 gosub770
  635. 6340 gosub890
  636. 6350 a1=827
  637. 6360 gosub770
  638. 6370 fori=1toan
  639. 6380 poke251,161
  640. 6390 poke252,4
  641. 6400 poke253,0
  642. 6410 poke254,220+4*i
  643. 6420 sys51234
  644. 6430 next
  645. 6440 return
  646. 6450 *********************
  647. 6460 *** strich ziehen ***
  648. 6470 *********************
  649. 6480 fori=atoa0stepa3
  650. 6490 pokef+i,a1
  651. 6500 pokeb+i,a2
  652. 6510 next
  653. 6520 return
  654. 6530 *******************
  655. 6540 *** anfangsbild ***
  656. 6550 *******************
  657. 6560 pokeze,12:pokesp,12:syscu
  658. 6570 printchr$(153)"wieviele spieler?"
  659. 6580 geta$
  660. 6590 if(a$<"1")or(a$>"8")then6580
  661. 6600 an=val(a$)
  662. 6610 pokeze,14:pokesp,12:syscu
  663. 6620 printan"spieler - ok?"
  664. 6630 geta$:ifa$="j"then6670
  665. 6640 ifa$<>"n"then6630
  666. 6650 pokezl,14:syslo
  667. 6660 goto6580
  668. 6670 printchr$(147)chr$(30)
  669. 6680 printtab(12)"bitte eingeben:"
  670. 6690 print
  671. 6700 printtab(12)"1 = joystick 1"
  672. 6710 printtab(12)"2 = joystick 2"
  673. 6720 printtab(12)"3 = tastatur"
  674. 6730 printchr$(156)
  675. 6740 fori=1toan
  676. 6750 printtab(12)"spieler"i" = ";
  677. 6760 poke198,0
  678. 6770 geta$
  679. 6780 if(a$<"1")or(a$>"3")then6770
  680. 6790 ms(i,0)=val(a$)
  681. 6800 printe$(ms(i,0))
  682. 6810 next
  683. 6820 printchr$(30)"in ordnung?"
  684. 6830 geta$:ifa$="j"then6860
  685. 6840 ifa$="n"then6670
  686. 6850 goto6830
  687. 6860 return
  688. 6870 *************
  689. 6880 *** titel ***
  690. 6890 *************
  691. 6900 poke2040,13
  692. 6910 printchr$(147)chr$(158)
  693. 6920 gosub8430
  694. 6930 sys51200
  695. 6940 printchr$(147)
  696. 6950 pokev+23,1:pokev+29,1
  697. 6960 a$="":a0$=""
  698. 6970 fori=1to14
  699. 6980 a$=a$+chr$(32)
  700. 6990 next
  701. 7000 fa=10:r=128
  702. 7010 forz1=1to3
  703. 7020 z=z1:gosub8110
  704. 7030 nextz1
  705. 7040 a$="kontakte"
  706. 7050 z=2
  707. 7060 gosub8110
  708. 7070 pokeze,6:pokesp,12:syscu
  709. 7080 print"ein programm von"
  710. 7090 a$="guenter kramer"
  711. 7100 z=8:fa=3:a0$="s":r=0
  712. 7110 pokev+23,0:pokev+29,0
  713. 7120 gosub8110
  714. 7130 return
  715. 7140 ********************
  716. 7150 *** anfangswerte ***
  717. 7160 ********************
  718. 7170 v=53248        :rem vic
  719. 7180 t=54272        :rem sid
  720. 7190 n=49152        :rem zeichen
  721. 7200 f=55296        :rem farbram
  722. 7210 b=1024         :rem bildram
  723. 7220 cu=58640       :rem cursor
  724. 7230 ze=214         :rem cu-zeile
  725. 7240 sp=211         :rem cu-spalte
  726. 7250 zl=781         :rem loesch ze
  727. 7260 lo=59903       :rem sys zl
  728. 7270 dime$(8)       :rem eingabe
  729. 7280 dimze(34,4,4)  :rem zeichen
  730. 7290 dimms(8,6)     :rem spielwerte
  731. 7300 dimhs$(20),hs(20)
  732. 7310 poke53280,0    :rem randfarbe
  733. 7320 poke53281,0    :rem hintergrund
  734. 7330 a=rnd(-ti)     :rem zufall
  735. 7340 e$(1)="joy 1"
  736. 7350 e$(2)="joy 2"
  737. 7360 e$(3)="tastatur"
  738. 7370 pokev+21,0
  739. 7380 pokev+39,1
  740. 7390 a=peek(61)+256*peek(62)
  741. 7400 poke65,aand255
  742. 7410 poke66,a/256
  743. 7420 fori=1to34
  744. 7430 fori0=1to4
  745. 7440 reada
  746. 7450 ze(i,1,i0)=aor128
  747. 7460 fori1=2to4
  748. 7470 ifa=64thena=66:goto7530
  749. 7480 ifa=66thena=64:goto7530
  750. 7490 ifa=85thena=73:goto7530
  751. 7500 ifa=73thena=75:goto7530
  752. 7510 ifa=75thena=74:goto7530
  753. 7520 ifa=74thena=85
  754. 7530 a0=i0+i1-1
  755. 7540 ifa0>4thena0=a0-4
  756. 7550 ze(i,i1,a0)=aor128
  757. 7560 nexti1,i0,i
  758. 7570 data32,32,85,32,32,32,85,73
  759. 7580 data32,32,64,85,32,32,64,64
  760. 7590 data32,32,73,64,32,74,85,73
  761. 7600 data32,74,64,85,32,74,64,64
  762. 7610 data32,74,73,64,32,66,75,64
  763. 7620 data32,85,75,64,74,75,32,32
  764. 7630 data74,75,32,73,74,75,85,32
  765. 7640 data74,75,85,73,74,64,64,85
  766. 7650 data74,64,64,64,74,64,73,64
  767. 7660 data66,74,64,74,85,75,85,75
  768. 7670 data75,32,85,32,75,32,64,85
  769. 7680 data75,32,64,64,75,32,73,64
  770. 7690 data75,74,85,73,75,74,64,85
  771. 7700 data75,74,64,64,75,74,73,64
  772. 7710 data75,85,75,64,64,75,64,85
  773. 7720 data64,75,64,64,64,64,64,64
  774. 7730 data73,32,64,74,73,74,64,74
  775. 7740 fori=1to4
  776. 7750 ze(0,0,i)=32
  777. 7760 next
  778. 7770 return
  779. 7780 ************
  780. 7790 *** (NULL)ng ***
  781. 7800 ************
  782. 7810 gosub7920
  783. 7820 poket+1,8:poket,180:poket+5,12
  784. 7830 poket+8,15:poket+7,247
  785. 7840 poket+15,13:poket+14,10
  786. 7850 poket+12,12:poket+19,12
  787. 7860 poket+24,15:poket+4,23
  788. 7870 poket+11,23:poket+18,23
  789. 7880 return
  790. 7890 ********************
  791. 7900 *** loeschen sid ***
  792. 7910 ********************
  793. 7920 fort0=0to24:poket+t0,0:nextt0
  794. 7930 return
  795. 7940 **************
  796. 7950 *** heulen ***
  797. 7960 **************
  798. 7970 gosub7920
  799. 7980 poket,t1-256*int(t1/256)
  800. 7990 poket+1,int(t1/256):poket+6,240
  801. 8000 poket+24,15:poket+4,33:return
  802. 8010 **************
  803. 8020 *** schuss ***
  804. 8030 **************
  805. 8040 gosub7920
  806. 8050 poket+5,9:poket+1,21
  807. 8060 poket+24,15:poket+4,129
  808. 8070 return
  809. 8080 **********************
  810. 8090 *** sprites laufen ***
  811. 8100 **********************
  812. 8110 y=z*8+50:s=13*64
  813. 8120 z=19+b+z*40-len(a$)/2
  814. 8130 fori=1tolen(a$)
  815. 8140 pokev+1,230
  816. 8150 pokev,0:t1=34*256
  817. 8160 a=asc(mid$(a$,i,1))
  818. 8170 ifa=32then8350
  819. 8180 ifa>63thena=a-64
  820. 8190 ifa0$="s"then8340
  821. 8200 a0=168-(4*(len(a$)+1and254))+i*8
  822. 8210 forj=stos+62:pokej,0:nextj
  823. 8220 forj=0to7
  824. 8230 pokes+3*j+1,peek(n+j+a*8)
  825. 8240 nextj:t1=0:gosub7970
  826. 8250 pokev+21,1
  827. 8260 forj=0toa0step4
  828. 8270 pokev,jand255
  829. 8280 pokev+16,int(j/256)
  830. 8290 poket+1,jand255:nextj
  831. 8300 forj=230toystep-2
  832. 8310 pokev+1,j
  833. 8320 poket+1,j-34
  834. 8330 nextj
  835. 8340 gosub8040
  836. 8350 pokez+i+f-b,fa
  837. 8360 pokez+i,a+r
  838. 8370 pokev+21,0
  839. 8380 nexti
  840. 8390 return
  841. 8400 *************************
  842. 8410 *** laden zeichensatz ***
  843. 8420 *************************
  844. 8430 a=peek(61)+256*peek(62)
  845. 8440 poke65,aand255
  846. 8450 poke66,a/256
  847. 8460 a0=0
  848. 8470 fori=51200to51385
  849. 8480 reada
  850. 8490 pokei,a
  851. 8500 a0=a0+a
  852. 8510 next
  853. 8520 ifa0=26682then8550
  854. 8530 print"datafehler"
  855. 8540 end
  856. 8550 return
  857. 8560 data120,169,51,133,1,169
  858. 8570 data208,160,0,133,96,132
  859. 8580 data95,132,90,132,88,169
  860. 8590 data216,133,91,169,200,133
  861. 8600 data89,32,191,163,169,55
  862. 8610 data133,1,88,96,120,169
  863. 8620 data53,133,1,162,0,160
  864. 8630 data0,177,251,145,253
  865. 8640 data200,192,30,208,247,24
  866. 8650 data165,251,105,40,133,251
  867. 8660 data165,252,105,0,133,252
  868. 8670 data24,165,253,105,40,133
  869. 8680 data253,165,254,105,0,133
  870. 8690 data254,232,224,20,208,214
  871. 8700 data169,55,133,1,88,96
  872. 8710 data165,254,72,165,253,72
  873. 8720 data165,252,133,253,169,0
  874. 8730 data133,252,133,254,160,3
  875. 8740 data6,251,38,252,6,253
  876. 8750 data38,254,136,208,245,165
  877. 8760 data252,9,192,133,252,165
  878. 8770 data254,9,192,133,254,160
  879. 8780 data0,162,0,177,251,157
  880. 8790 data64,3,177,253,157,65
  881. 8800 data3,232,232,232,200,192
  882. 8810 data8,208,238,173,137,200
  883. 8820 data201,64,208,17,104,133
  884. 8830 data251,104,133,253,160,89
  885. 8840 data140,137,200,136,140,142
  886. 8850 data200,208,179,160,64,140
  887. 8860 data137,200,200,140,142,200,96
  888. 8870 *** kontakte ************c64
  889. 8880 ***                      ***
  890. 8890 *** 38911 bytes speicher ***
  891. 8900 *** 15539 bytes programm ***
  892. 8910 ***   252 bytes variable ***
  893. 8920 ***  3449 bytes arrays   ***
  894. 8930 ***  7507 bytes strings  ***
  895. 8940 *** 12164 bytes frei     ***
  896. 8950 ****************************
  897.