home *** CD-ROM | disk | FTP | other *** search
/ zzZACK64 / zzZACK64_4_1992_-_de.d64 / grosstadt (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  18KB  |  984 lines

  1. 100 rem schalter ******************c64
  2. 110 rem (p) 6/87 by commodore welt ***
  3. 120 rem ******************************
  4. 130 rem (c) 6/87 by g. kramer      ***
  5. 140 rem             emsdetten      ***
  6. 150 rem ******************************
  7. 160 rem basic 2.0                  ***
  8. 170 rem c64 + 1530/1541            ***
  9. 180 rem ******************************
  10. 190 poke788,52
  11. 200 printchr$(142)
  12. 210 poke657,128
  13. 220 gosub7870
  14. 230 gosub8960
  15. 240 gosub6410
  16. 250 gosub6250
  17. 260 gosub520
  18. 270 gosub1590
  19. 280 fori=0to20
  20. 290 pokezl,i
  21. 300 syslo
  22. 310 next
  23. 320 gosub8400
  24. 330 pokeze,12:pokesp,16:syscu
  25. 340 printchr$(15)"spielende"
  26. 350 print
  27. 360 printtab(11)"ein neues spiel ?"
  28. 370 geta$
  29. 380 ifa$="n"then480
  30. 390 ifa$<>"j"then370
  31. 400 printchr$(147)
  32. 410 fori=0to4
  33. 420 pp(i,2)=5
  34. 430 zu(i)=0
  35. 440 forj=0to1
  36. 450 pp(i,j)=0
  37. 460 nextj,i
  38. 470 goto260
  39. 480 poke788,49:end
  40. 490 *******************
  41. 500 *** anfangsbild ***
  42. 510 *******************
  43. 520 pokeze,11:pokesp,11:syscu
  44. 530 pokepu,0
  45. 540 an=1
  46. 550 ifhs<1then590
  47. 560 printtab(11)"f1 = highscore"
  48. 570 printtab(11)"f3 = altes spiel"
  49. 580 print
  50. 590 printtab(12)"1 = joystick 1"
  51. 600 printtab(12)"2 = joystick 2"
  52. 610 printtab(12)"3 = tastatur"
  53. 620 printtab(12)"0 = spielanfang"
  54. 630 print
  55. 640 printtab(11)an".spieler :";
  56. 650 geta$
  57. 660 ifa$<>chr$(133)then700
  58. 670 gosub8150
  59. 680 printchr$(147)
  60. 690 goto520
  61. 700 ifa$<>chr$(134)then1130
  62. 710 printchr$(147)
  63. 720 print"name des spieles : "
  64. 730 poke198,0
  65. 740 a0$=""
  66. 750 fori=1to16
  67. 760 geta$:ifa$=""then760
  68. 770 ifi<2then790
  69. 780 ifa$=chr$(13)theni=17:goto830
  70. 790 ifa$<chr$(48)then760
  71. 800 ifa$>chr$(90)then760
  72. 810 a0$=a0$+a$
  73. 820 printa$;
  74. 830 next
  75. 840 open15,8,15
  76. 850 open3,8,3,a0$+",u,r"
  77. 860 input#15,a,a$,a0,a1
  78. 870 ifa=0then970
  79. 880 close3:close15
  80. 890 print:print"fehler :"a,a$
  81. 900 print"bitte richtige diskette einlegen"
  82. 910 print"und return geben."
  83. 920 print"oder 'n' fuer nein eingeben"
  84. 930 poke198,0
  85. 940 geta$:ifa$=chr$(13)then710
  86. 950 ifa$="n"then520
  87. 960 goto940
  88. 970 input#3,an,bi,ls
  89. 980 fori=1to4
  90. 990 input#3,zu(i)
  91. 1000 forj=0to2
  92. 1010 input#3,pp(i,j)
  93. 1020 nextj,i
  94. 1030 fori=0to8
  95. 1040 fori0=0to4
  96. 1050 fori1=0to1
  97. 1060 input#3,fe(i,i0,i1)
  98. 1070 nexti1,i0,i
  99. 1080 input#3,bo
  100. 1090 close3:close15
  101. 1100 printchr$(147)
  102. 1110 l$="0"
  103. 1120 goto1700
  104. 1130 if(a$<"0")or(a$>"3")then650
  105. 1140 ifa$="0"thenan=an-1:goto1220
  106. 1150 pp(an,0)=val(a$)
  107. 1160 ifa$="3"thena$="tastatur
  108. 1170 [139]a$[179]"3"[167]a$[178]"joystick "[170]a$
  109. 1180 [153][199](18)a$
  110. 1190 [139]an[178]4[167]1230
  111. 1200 an[178]an[170]1
  112. 1210 [137]640
  113. 1220 [139]an[178]0[167]an[178]1:[137]650
  114. 1230 [153]
  115. 1240 [153][163]11)an"spieler - ok?"
  116. 1250 [161]a$:[139]a$[178]"j"[167]1320
  117. 1260 [139]a$[179][177]"n"[167]1250
  118. 1270 [129]i[178]18[164]an[170]19
  119. 1280 [151]zl,i:[158]lo
  120. 1290 [130]
  121. 1300 [137]520
  122. 1310 [151]53280,0
  123. 1320 [151]53281,0
  124. 1330 [153][199](158)
  125. 1340 [153][199](147)a$(0)
  126. 1350 [142]
  127. 1360 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  128. 1370 [172][172][172] neues bild [172][172][172]
  129. 1380 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  130. 1390 [153][199](158)[199](19);
  131. 1400 [153][199](146)a$(0)
  132. 1410 [129]i[178]1[164]5
  133. 1420 [129]j[178]1[164]3
  134. 1430 [153]a$(1)
  135. 1440 [130]
  136. 1450 [139]i[179]5[167][153]a$(2)
  137. 1460 [130]
  138. 1470 [153]a$(3)
  139. 1480 [141]4710
  140. 1490 [151]b[170]80,194
  141. 1500 [151]f[170]80,4
  142. 1510 [151]b[170]757,160
  143. 1520 [151]f[170]757,2
  144. 1530 a[178][183](1)
  145. 1540 [141]7270
  146. 1550 [142]
  147. 1560 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  148. 1570 [172][172][172] spiel laeuft [172][172][172]
  149. 1580 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
  150. 1590 ls[178]0
  151. 1600 bi[178]0
  152. 1610 l$[178]"0"
  153. 1620 ls[178]ls[170]1
  154. 1630 a[178]0
  155. 1640 [129]i[178]1[164]an
  156. 1650 a[178]a[170]pp(i,2)
  157. 1660 [130]
  158. 1670 [139]a[178]0[167][142]
  159. 1680 [139]ls[177]an[167]ls[178]1
  160. 1690 [139]ls[178]1[167]l$[178]"1"
  161. 1700 dr[178]7
  162. 1710 [139]pp(ls,2)[178]0[167]1620
  163. 1720 [151]v[170]2,0
  164. 1730 [151]v[170]3,0
  165. 1740 [141]1390
  166. 1750 [141]5270
  167. 1760 [141]5560
  168. 1770 ss[178]b[170]82
  169. 1780 [151]v,32
  170. 1790 [151]v[170]1,58
  171. 1800 [151]v[170]23,0
  172. 1810 [151]v[170]29,0
  173. 1820 [151]v[170]16,0
  174. 1830 [151]v[170]21,3
  175. 1840 [151]v[170]27,0
  176. 1850 [141]5960
  177. 1860 [139]ei[177]0[167]1900
  178. 1870 [151]v[170]27,3
  179. 1880 [141]5960
  180. 1890 [139]ei[178]0[167]1840
  181. 1900 [151]v[170]27,0
  182. 1910 [139]ei[179][177]3[167]2430
  183. 1920 [153][199](147)
  184. 1930 [153][163]11)"spielstand sichern"
  185. 1940 [153]:[153]
  186. 1950 [153]"sicherungsname : "
  187. 1960 [151]198,0
  188. 1970 a0$[178]""
  189. 1980 [129]i[178]1[164]16
  190. 1990 [161]a$:[139]a$[178]""[167]1990
  191. 2000 [139]i[179]2[167]2020
  192. 2010 [139]a$[178][199](13)[167]i[178]17:[137]2060
  193. 2020 [139]a$[179][199](48)[167]1990
  194. 2030 [139]a$[177][199](90)[167]1990
  195. 2040 a0$[178]a0$[170]a$
  196. 2050 [153]a$;
  197. 2060 [130]
  198. 2070 [159]15,8,15
  199. 2080 [159]3,8,3,a0$[170]",u,w"
  200. 2090 [132]15,a,a$,a0,a1
  201. 2100 [139]a[178]0[167]2210
  202. 2110 [160]3:[160]15
  203. 2120 [153]:[153]"fehler :"a,a$
  204. 2130 [153]"bitte diskette mit mindestens einem"
  205. 2140 [153]"freien sektor einlegen, ready machen"
  206. 2150 [153]"und return geben."
  207. 2160 [153]"oder 'n' fuer nein eingeben"
  208. 2170 [151]198,0
  209. 2180 [161]a$:[139]a$[178][199](13)[167]1920
  210. 2190 [139]a$[178]"n"[167]1840
  211. 2200 [137]2180
  212. 2210 [152]3,an","bi","ls
  213. 2220 [129]i[178]1[164]4
  214. 2230 [152]3,zu(i)
  215. 2240 [129]j[178]0[164]2
  216. 2250 [152]3,pp(i,j)
  217. 2260 [130]j,i
  218. 2270 [129]i[178]0[164]8
  219. 2280 [129]i0[178]0[164]4
  220. 2290 [129]i1[178]0[164]1
  221. 2300 [152]3,fe(i,i0,i1)
  222. 2310 [130]i1,i0,i
  223. 2320 [152]3,bo
  224. 2330 [160]3:[160]15
  225. 2340 [153]:[153]a0$" gesichert"
  226. 2350 [153]"weiterspielen ? (j/n)
  227. 2360 poke198,0
  228. 2370 geta$
  229. 2380 ifa$="n"thenreturn
  230. 2390 ifa$<>"j"then2370
  231. 2400 printchr$(147)
  232. 2410 l$="0"
  233. 2420 goto1700
  234. 2430 ifei<>6then2480
  235. 2440 pp(ls,2)=pp(ls,2)-1
  236. 2450 bo=0
  237. 2460 gosub5560
  238. 2470 goto3650
  239. 2480 ifei<>5then2520
  240. 2490 gosub4400
  241. 2500 ifbo<1then2440
  242. 2510 goto1840
  243. 2520 ifei=32then3050
  244. 2530 a=0
  245. 2540 ifei=145thena=-80
  246. 2550 ifei=29thena=2
  247. 2560 ifei=17thena=80
  248. 2570 ifei=157thena=-2
  249. 2580 ifa=0then1840
  250. 2590 ifss+a<1106then1840
  251. 2600 if(peek(ss+a)and128)=0then1840
  252. 2610 ifpeek(v+2)>0then2740
  253. 2620 sz=bo*2
  254. 2630 ifsz<80thensz=80
  255. 2640 sz=int(sz*rnd(0))
  256. 2650 ifsz>20then2740
  257. 2660 pokev+40,13
  258. 2670 a0=64+32*(sz-int(sz/7)*7)
  259. 2680 pokev+2,a0and255
  260. 2690 pokev+16,peek(v+16)and1
  261. 2700 ifa0<256then2720
  262. 2710 pokev+16,peek(v+16)or2
  263. 2720 pokev+3,32*int(sz/7)+92
  264. 2730 sw=int(rnd(sz)*6)+7
  265. 2740 sw=sw-1
  266. 2750 ifsw=1thenpokev+2,0:pokev+3,0
  267. 2760 dr=7
  268. 2770 ss=ss+2*a
  269. 2780 ifabs(a)>2then3000
  270. 2790 fori=sgn(a)to16*astepsgn(a)
  271. 2800 ifsgn(a)=1then2830
  272. 2810 ifpeek(v)=0thenpokev+16,peek(v+16)and254
  273. 2820 goto2840
  274. 2830 ifpeek(v)=255thenpokev+16,peek(v+16)or1
  275. 2840 pokev,(peek(v)+sgn(a))and255
  276. 2850 next
  277. 2860 ifss>1780then3140
  278. 2870 ifpeek(v)<>peek(v+2)then2960
  279. 2880 ifpeek(v+1)+2<>peek(v+3)then2960
  280. 2890 fori=1tosw
  281. 2900 gosub7270
  282. 2910 bo=bo+10
  283. 2920 gosub3860
  284. 2930 next
  285. 2940 pokev+2,0:pokev+3,0
  286. 2950 goto1840
  287. 2960 bo=bo-3
  288. 2970 ifbo<1then2440
  289. 2980 gosub3860
  290. 2990 goto1840
  291. 3000 a=a/40
  292. 3010 fori=sgn(a)to16*astepsgn(a)
  293. 3020 pokev+1,peek(v+1)+sgn(a)
  294. 3030 next
  295. 3040 goto2860
  296. 3050 bo=bo-dr
  297. 3060 ifbo<1then2440
  298. 3070 dr=0
  299. 3080 gosub3860
  300. 3090 a=ss-b-82
  301. 3100 j=int(a/160)
  302. 3110 i=int((a-160*j)/4)
  303. 3120 gosub4580
  304. 3130 goto1840
  305. 3140 a=peek(ss-b+f)and15
  306. 3150 ifa=2then1940
  307. 3160 ifss<1781then1840
  308. 3170 poke53280,4
  309. 3180 gosub3930
  310. 3190 a5=f+82
  311. 3200 a$=chr$(32)+chr$(32)+chr$(32)
  312. 3210 printchr$(150);
  313. 3220 a4=6*ls-5
  314. 3230 j=-1
  315. 3240 bz=0
  316. 3250 pokeze,22:pokesp,0:syscu
  317. 3260 gosub7270
  318. 3270 forj0=0to640step160
  319. 3280 j=j+1
  320. 3290 i=-1
  321. 3300 fori0=0to32step4
  322. 3310 i=i+1
  323. 3320 iffe(i,j,1)=10then3340
  324. 3330 if(peek(a5+i0+j0)and15)=2then3450
  325. 3340 pp(ls,1)=pp(ls,1)+10
  326. 3350 bz=bz+1
  327. 3360 a1$=a$+str$(pp(ls,1))
  328. 3370 a1$=right$(a1$,5)
  329. 3380 printtab(a4)chr$(18)a1$
  330. 3390 printchr$(145);
  331. 3400 fa=10
  332. 3410 a=fe(i,j,1)
  333. 3420 poket+4,0:poket+11,0:poket+18,0
  334. 3430 poket+4,23:poket+11,23:poket+18,23
  335. 3440 gosub5010
  336. 3450 nexti0,j0
  337. 3460 ifbz<41then3650
  338. 3470 fori=0to20
  339. 3480 pokezl,i
  340. 3490 syslo
  341. 3500 next
  342. 3510 fori=1tobz-40
  343. 3520 pp(ls,1)=pp(ls,1)+100
  344. 3530 pokeze,12:pokesp,15:syscu
  345. 3540 printchr$(18)"extrabonus"
  346. 3550 a$=chr$(32)+chr$(32)+chr$(32)
  347. 3560 a1$=a$+str$(pp(ls,1))
  348. 3570 a1$=right$(a1$,5)
  349. 3580 pokeze,22:pokesp,6*ls-5
  350. 3590 syscu
  351. 3600 printchr$(18)chr$(150)a1$
  352. 3610 pokeze,12:pokesp,15:syscu
  353. 3620 print"extrabonus"
  354. 3630 gosub7270
  355. 3640 next
  356. 3650 gosub7430
  357. 3660 gosub4150
  358. 3670 fori=255to0step-5
  359. 3680 poke53280,4
  360. 3690 poket+1,i
  361. 3700 forj=1to10:next
  362. 3710 poke53280,0
  363. 3720 forj=1to10:next
  364. 3730 next
  365. 3740 gosub7380
  366. 3750 pokev+21,0
  367. 3760 fori=880to905
  368. 3770 forj=0to40step40
  369. 3780 pokef+i+j,3
  370. 3790 nextj,i
  371. 3800 gosub7380
  372. 3810 poke53280,0
  373. 3820 goto1610
  374. 3830 ********************
  375. 3840 *** bonus setzen ***
  376. 3850 ********************
  377. 3860 b$=right$("  "+str$(bo),3)
  378. 3870 pokeze,23:pokesp,0:syscu
  379. 3880 printtab(29)chr$(30)b$
  380. 3890 return
  381. 3900 ***********************
  382. 3910 *** bonus abrechnen ***
  383. 3920 ***********************
  384. 3930 a=bo-3*int(bo/3)
  385. 3940 pp(ls,1)=pp(ls,1)+a
  386. 3950 bo=bo-a
  387. 3960 gosub3860
  388. 3970 ifbo=0then4110
  389. 3980 t1=0:gosub7430
  390. 3990 fori=1tobostep3
  391. 4000 bo=bo-3
  392. 4010 pp(ls,1)=pp(ls,1)+3
  393. 4020 a$=chr$(32)+chr$(32)+chr$(32)
  394. 4030 a1$=a$+str$(pp(ls,1))
  395. 4040 a1$=right$(a1$,5)
  396. 4050 poket+1,i/3
  397. 4060 pokeze,22:pokesp,6*ls-5
  398. 4070 syscu
  399. 4080 printchr$(18)chr$(150)a1$
  400. 4090 gosub3860
  401. 4100 next
  402. 4110 return
  403. 4120 *******************
  404. 4130 *** zusatzleben ***
  405. 4140 *******************
  406. 4150 a=int(pp(ls,1)/10000)
  407. 4160 ifa<=zu(ls)then4360
  408. 4170 a=pp(ls,2)
  409. 4180 ifa=5then4360
  410. 4190 a0=4*a-2
  411. 4200 a$=chr$(32)+chr$(32)
  412. 4210 a0$=chr$(117)+chr$(105)
  413. 4220 a1$=chr$(106)+chr$(107)
  414. 4230 zu(ls)=zu(ls)+1
  415. 4240 a=a+1
  416. 4250 pp(ls,2)=a
  417. 4260 fori=1to10
  418. 4270 pokeze,a0:pokesp,0:syscu
  419. 4280 printtab(37)a$
  420. 4290 printtab(37)a$
  421. 4300 t1=4096*i
  422. 4310 gosub7430
  423. 4320 pokeze,a0:pokesp,0:syscu
  424. 4330 printtab(37)a0$
  425. 4340 printtab(37)a1$
  426. 4350 next
  427. 4360 return
  428. 4370 ****************************
  429. 4380 *** drehen rote schalter ***
  430. 4390 ****************************
  431. 4400 a=ss-b-82
  432. 4410 j0=int(a/160)
  433. 4420 i0=(a-160*j0)/4
  434. 4430 forj=j0-1toj0+1
  435. 4440 fori=i0-1toi0+1
  436. 4450 if(i<0)or(j<0)then4530
  437. 4460 if(i>8)or(j>4)then4530
  438. 4470 a=peek(f+82+160*j+4*i)and15
  439. 4480 ifa<>2then4530
  440. 4490 gosub4580
  441. 4500 bo=bo-30
  442. 4510 ifbo<1thenbo=0:i=10:j=10
  443. 4520 gosub3860
  444. 4530 nexti,j
  445. 4540 return
  446. 4550 *****************************
  447. 4560 *** einzelschalter drehen ***
  448. 4570 *****************************
  449. 4580 a1=fe(i,j,1)
  450. 4590 ifa1<>10then4620
  451. 4600 a1=int(rnd(a1)*10)
  452. 4610 bo=bo-30
  453. 4620 a=sc(a1,1)
  454. 4630 fa=2
  455. 4640 gosub7500
  456. 4650 gosub5010
  457. 4660 a=usr(1)
  458. 4670 return
  459. 4680 *********************
  460. 4690 *** felder setzen ***
  461. 4700 *********************
  462. 4710 printchr$(28)chr$(19)
  463. 4720 gosub7500
  464. 4730 ifl$="1"thenbi=bi+1
  465. 4740 bo=0
  466. 4750 fori=0to8
  467. 4760 forj=0to4
  468. 4770 ifl$="1"then4800
  469. 4780 a=fe(i,j,0)
  470. 4790 goto4880
  471. 4800 a=int(10*rnd(0))
  472. 4810 if(j=0)or(j=4)then4880
  473. 4820 if(i=0)or(i=8)then4880
  474. 4830 bl=int(bi/5)
  475. 4840 ifbl=0then4880
  476. 4850 ifbl>7thenbl=7
  477. 4860 a0=int(rnd(1)*21/bl)
  478. 4870 ifa0=0thena=10
  479. 4880 poket+4,128
  480. 4890 poket+4,129
  481. 4900 fe(i,j,0)=a
  482. 4910 fa=2
  483. 4920 bo=bo+10
  484. 4930 ifa<6thenbo=bo+5
  485. 4940 ifa=10thenbo=bo+30
  486. 4950 gosub5010
  487. 4960 nextj,i
  488. 4970 return
  489. 4980 ***********************
  490. 4990 *** schalter setzen ***
  491. 5000 ***********************
  492. 5010 fe(i,j,1)=a
  493. 5020 a0=b+41+4*i+160*j
  494. 5030 pokea0+41,160
  495. 5040 pokea0-b+f+41,fa
  496. 5050 a1=sc(a,0)and1
  497. 5060 a2=1
  498. 5070 gosub5180
  499. 5080 a1=sc(a,0)and2
  500. 5090 a2=42
  501. 5100 gosub5180
  502. 5110 a1=sc(a,0)and4
  503. 5120 a2=81
  504. 5130 gosub5180
  505. 5140 a1=sc(a,0)and8
  506. 5150 a2=40
  507. 5160 gosub5180
  508. 5170 return
  509. 5180 a3=32
  510. 5190 ifa1>0thena3=160
  511. 5200 pokea0+a2,a3
  512. 5210 pokea0+f-b+a2,fa
  513. 5220 ifa=10thenpokea0+f-b+a2,4
  514. 5230 return
  515. 5240 *************************
  516. 5250 *** setzen spielwerte ***
  517. 5260 *************************
  518. 5270 a0$=chr$(18)+chr$(159)+chr$(58)
  519. 5280 a1$=a0$:a3$=a0$
  520. 5290 fori=1toan
  521. 5300 a2$=chr$(159)
  522. 5310 ifi=lsthena2$=chr$(150)
  523. 5320 a$=chr$(58)+chr$(58)
  524. 5330 a4$=a$+right$(str$(i),1)
  525. 5340 a0$=a0$+a4$+a$+chr$(58)
  526. 5350 a$=chr$(32)+chr$(32)
  527. 5360 a$=a$+a$
  528. 5370 a$=right$(a$+str$(pp(i,1)),5)
  529. 5380 a1$=a1$+a2$+a$+chr$(159)+":"
  530. 5390 a$="joy"+str$(pp(i,0))
  531. 5400 ifpp(i,0)=3thena$="taste"
  532. 5410 a3$=a3$+a2$+a$+chr$(159)+":"
  533. 5420 next
  534. 5430 a$=chr$(18)+chr$(159)
  535. 5440 fori=1tolen(a0$)-2
  536. 5450 a$=a$+chr$(58)
  537. 5460 next
  538. 5470 pokeze,21:pokesp,0:syscu
  539. 5480 printa0$
  540. 5490 printa1$
  541. 5500 printa3$
  542. 5510 printa$;chr$(146);
  543. 5520 return
  544. 5530 *************************
  545. 5540 *** bonus und reserve ***
  546. 5550 *************************
  547. 5560 a$=chr$(117)
  548. 5570 a0$=chr$(98)
  549. 5580 a1$=chr$(106)
  550. 5590 fori=1to3
  551. 5600 a$=a$+chr$(99)
  552. 5610 a0$=a0$+chr$(32)
  553. 5620 a1$=a1$+chr$(99)
  554. 5630 next
  555. 5640 a$=a$+chr$(105)
  556. 5650 a0$=a0$+chr$(98)
  557. 5660 a1$=a1$+chr$(107)
  558. 5670 pokeze,21:pokesp,0:syscu
  559. 5680 printtab(28)chr$(30)"bonus";
  560. 5690 printspc(1)"bild"
  561. 5700 printtab(28)a$
  562. 5710 printtab(28)a0$;spc(1)bi
  563. 5720 printtab(28)a1$;
  564. 5730 gosub3860
  565. 5740 a$=chr$(32)+chr$(32)+chr$(32)
  566. 5750 a$=right$(a$+str$(pp(ls,1)),5)
  567. 5760 pokeze,22:pokesp,6*ls-5
  568. 5770 syscu
  569. 5780 printchr$(18)chr$(150)a$
  570. 5790 pokeze,0:pokesp,0:syscu
  571. 5800 fori=1to17
  572. 5810 printtab(37)chr$(32)+chr$(32)
  573. 5820 next
  574. 5830 ifpp(ls,2)<2then5920
  575. 5840 a$=chr$(117)+chr$(105)
  576. 5850 a0$=chr$(106)+chr$(107)
  577. 5860 pokeze,2:pokesp,0:syscu
  578. 5870 fori=2topp(ls,2)
  579. 5880 printtab(37)a$
  580. 5890 printtab(37)a0$
  581. 5900 print:print
  582. 5910 next
  583. 5920 return
  584. 5930 ***********************
  585. 5940 *** abfrage eingabe ***
  586. 5950 ***********************
  587. 5960 ei=0
  588. 5970 ifpeek(653)=5thenei=5:goto6210
  589. 5980 ifpeek(653)=6thenei=6:goto6210
  590. 5990 ifpeek(653)=3thenei=3:goto6210
  591. 6000 ifpp(ls,0)<3then6090
  592. 6010 geta$:ifa$=""then6210
  593. 6020 ei=asc(a$)
  594. 6030 ifei=133thenei=17 :rem hoch
  595. 6040 ifei=134thenei=145:rem runter
  596. 6050 ifei=135thenei=157:rem links
  597. 6060 ifei=136thenei=29 :rem rechts
  598. 6070 ifei=140thenei=5:rem rot dreh
  599. 6080 goto6210
  600. 6090 poke56322,224
  601. 6100 a1=peek(56320)
  602. 6110 ifpp(ls,0)=1thena1=peek(56321)
  603. 6120 if(a1and31)=0then6200
  604. 6130 if(a1and16)=0thenei=32
  605. 6140 if(a1and8)=0thenei=29
  606. 6150 if(a1and4)=0thenei=157
  607. 6160 if(a1and2)=0thenei=17
  608. 6170 if(a1and1)=0thenei=145
  609. 6180 if(ei=0)or(ei=32)then6200
  610. 6190 if(a1and16)=0thenei=5
  611. 6200 poke56322,255
  612. 6210 return
  613. 6220 *********************
  614. 6230 *** laden sprites ***
  615. 6240 *********************
  616. 6250 forj=0to7
  617. 6260 pokes+3*j,peek(n+j+85*8)
  618. 6270 pokes+3*j+1,peek(n+j+67*8)
  619. 6280 pokes+3*j+2,peek(n+j+73*8)
  620. 6290 pokes+3*j+24,peek(n+j+66*8)
  621. 6300 pokes+3*j+25,peek(n+j+86*8)
  622. 6310 pokes+3*j+26,peek(n+j+66*8)
  623. 6320 ifj>4then6360
  624. 6330 pokes+3*j+48,peek(n+j+74*8)
  625. 6340 pokes+3*j+49,peek(n+j+67*8)
  626. 6350 pokes+3*j+50,peek(n+j+75*8)
  627. 6360 next
  628. 6370 return
  629. 6380 *************
  630. 6390 *** titel ***
  631. 6400 *************
  632. 6410 poke2040,13
  633. 6420 sys12*4096
  634. 6430 gosub6710
  635. 6440 poke53280,0
  636. 6450 poke53281,0
  637. 6460 printchr$(147)chr$(156)
  638. 6470 a$="guenter kramer"
  639. 6480 pokeze,1:pokesp,13:syscu
  640. 6490 fori=1tolen(a$)
  641. 6500 printmid$(a$,i,1);
  642. 6510 gosub7270
  643. 6520 next
  644. 6530 pokeze,5:pokesp,0:syscu
  645. 6540 printtab(15)"stellt vor"
  646. 6550 pokev+23,1:pokev+29,1
  647. 6560 a$=""
  648. 6570 fori=1to14
  649. 6580 a$=a$+chr$(32)
  650. 6590 next
  651. 6600 fa=10:r=128
  652. 6610 forz1=7to9
  653. 6620 z=z1:gosub7570
  654. 6630 nextz1
  655. 6640 a$="schalter"
  656. 6650 z=8
  657. 6660 gosub7570
  658. 6670 return
  659. 6680 ********************
  660. 6690 *** anfangswerte ***
  661. 6700 ********************
  662. 6710 v=53248        :rem vic
  663. 6720 t=54272        :rem sid
  664. 6730 s=13*64        :rem sprite 1
  665. 6740 s2=14*64       :rem sprite 2
  666. 6750 n=51200        :rem zeichen
  667. 6760 f=55296        :rem farbram
  668. 6770 b=1024         :rem bildram
  669. 6780 cu=58640       :rem cursor
  670. 6790 ze=214         :rem cu-zeile
  671. 6800 sp=211         :rem cu-spalte
  672. 6810 pu=198         :rem tastatur
  673. 6820 dimsc(10,2)    :rem schalter
  674. 6830 dimfe(8,4,1)   :rem felder
  675. 6840 dimpp(4,2)     :rem spieler-werte
  676. 6850 zl=781         :rem loesch ze
  677. 6860 lo=59903       :rem sys zl
  678. 6870 a=rnd(-ti)     :rem zufall
  679. 6880 fori=1to4
  680. 6890 pp(i,2)=5
  681. 6900 next
  682. 6910 a$(0)=chr$(117)
  683. 6920 a$(1)=chr$(98)
  684. 6930 a$(2)=chr$(171)
  685. 6940 a$(3)=chr$(106)
  686. 6950 fori=1to9
  687. 6960 forj=1to3
  688. 6970 a$(0)=a$(0)+chr$(96)
  689. 6980 a$(1)=a$(1)+chr$(32)
  690. 6990 a$(2)=a$(2)+chr$(96)
  691. 7000 a$(3)=a$(3)+chr$(96)
  692. 7010 next
  693. 7020 ifi=9then7070
  694. 7030 a$(0)=a$(0)+chr$(178)
  695. 7040 a$(1)=a$(1)+chr$(98)
  696. 7050 a$(2)=a$(2)+chr$(123)
  697. 7060 a$(3)=a$(3)+chr$(177)
  698. 7070 next
  699. 7080 a$(0)=a$(0)+chr$(105)
  700. 7090 a$(1)=a$(1)+chr$(98)
  701. 7100 a$(2)=a$(2)+chr$(179)
  702. 7110 a$(3)=a$(3)+chr$(107)
  703. 7120 fori=0to10
  704. 7130 forj=0to2
  705. 7140 reada
  706. 7150 sc(i,j)=a
  707. 7160 nextj,i
  708. 7170 fori=s2tos2+62
  709. 7180 reada
  710. 7190 pokei,a
  711. 7200 next
  712. 7210 poke2041,14
  713. 7220 pokev+40,13
  714. 7230 return
  715. 7240 ************
  716. 7250 *** (NULL)ng ***
  717. 7260 ************
  718. 7270 gosub7380
  719. 7280 poket+1,8:poket,180:poket+5,12
  720. 7290 poket+8,15:poket+7,247
  721. 7300 poket+15,13:poket+14,10
  722. 7310 poket+12,12:poket+19,12
  723. 7320 poket+24,15:poket+4,23
  724. 7330 poket+11,23:poket+18,23
  725. 7340 return
  726. 7350 *********
  727. 7360 *** loeschen sid ***
  728. 7370 ********************
  729. 7380 fort0=0to24:poket+t0,0:nextt0
  730. 7390 return
  731. 7400 **************
  732. 7410 *** heulen ***
  733. 7420 **************
  734. 7430 gosub7380
  735. 7440 poket,t1-256*int(t1/256)
  736. 7450 poket+1,int(t1/256):poket+6,240
  737. 7460 poket+24,15:poket+4,33:return
  738. 7470 **************
  739. 7480 *** schuss ***
  740. 7490 **************
  741. 7500 gosub7380
  742. 7510 poket+5,9:poket+1,21
  743. 7520 poket+24,15:poket+4,129
  744. 7530 return
  745. 7540 **********************
  746. 7550 *** sprites laufen ***
  747. 7560 **********************
  748. 7570 y=z*8+50
  749. 7580 z=19+b+z*40-len(a$)/2
  750. 7590 fori=1tolen(a$)
  751. 7600 pokev+1,230
  752. 7610 pokev,0:t1=34*256
  753. 7620 a=asc(mid$(a$,i,1))
  754. 7630 ifa=32then7790
  755. 7640 ifa>63thena=a-64
  756. 7650 a0=168-(4*(len(a$)+1and254))+i*8
  757. 7660 forj=stos+62:pokej,0:nextj
  758. 7670 forj=0to7
  759. 7680 pokes+3*j+1,peek(n+j+a*8)
  760. 7690 nextj:t1=0:gosub7430
  761. 7700 pokev+21,1
  762. 7710 forj=0toa0step4
  763. 7720 pokev,jand255
  764. 7730 pokev+16,int(j/256)
  765. 7740 poket+1,jand255:nextj
  766. 7750 forj=230toystep-2
  767. 7760 pokev+1,j
  768. 7770 poket+1,j-34
  769. 7780 nextj:gosub7500
  770. 7790 pokez+i+f-b,fa
  771. 7800 pokez+i,a+r
  772. 7810 pokev+21,0
  773. 7820 nexti
  774. 7830 return
  775. 7840 ***********************
  776. 7850 *** lesen highscore ***
  777. 7860 ***********************
  778. 7870 open15,8,15
  779. 7880 open3,8,3,"0:h.s. schalter,u,r"
  780. 7890 input#15,a,a$,a0,a1
  781. 7900 ifa=0thenhs=1:goto8010
  782. 7910 close3:close15
  783. 7920 printchr$(147)a,a$,a0,a1
  784. 7930 print"wenn highscore vorhanden,"
  785. 7940 print"diskette einlegen und"
  786. 7950 print"'j' eingeben."
  787. 7960 print"sonst 'n' eingeben."
  788. 7970 geta$
  789. 7980 ifa$="j"then7870
  790. 7990 ifa$<>"n"then7970
  791. 8000 hs=0
  792. 8010 dimhs$(20),hs(20)
  793. 8020 a$="    "
  794. 8030 a=0
  795. 8040 fori=1to20
  796. 8050 ifhs=0then8070
  797. 8060 input#3,a$,a
  798. 8070 hs$(i)=a$
  799. 8080 hs(i)=a
  800. 8090 next
  801. 8100 close3:close15
  802. 8110 return
  803. 8120 **************************
  804. 8130 *** anzeigen highscore ***
  805. 8140 **************************
  806. 8150 printchr$(147)chr$(30)
  807. 8160 printspc(15)"ehrentafel"
  808. 8170 print:print
  809. 8180 a$=""
  810. 8190 fori=1to7
  811. 8200 a$=a$+chr$(32)
  812. 8210 next
  813. 8220 fori=1to10
  814. 8230 a0$=right$(a$+str$(hs(i)),7)
  815. 8240 a1$=right$(a$+str$(hs(i+10)),7)
  816. 8250 ifhs(i)=0thena0$=a$
  817. 8260 ifhs(i+10)=0thena1$=a$
  818. 8270 printspc(6)hs$(i)spc(1)a0$;
  819. 8280 printspc(1)chr$(122)chr$(122);
  820. 8290 printspc(1)hs$(i+10)spc(1)a1$
  821. 8300 next
  822. 8310 pokeze,22:pokesp,0:syscu
  823. 8320 print"weiter = return"
  824. 8330 poke198,0
  825. 8340 geta$
  826. 8350 ifa$<>chr$(13)then8340
  827. 8360 return
  828. 8370 ************************
  829. 8380 *** update highscore ***
  830. 8390 ************************
  831. 8400 pokeze,10:pokesp,13:syscu
  832. 8410 print"namen eingeben"
  833. 8420 print
  834. 8430 fori=1toan
  835. 8440 ifpp(i,1)<hs(20)then8660
  836. 8450 a0$=""
  837. 8460 poke198,0
  838. 8470 printspc(13)"spieler"i" = ";
  839. 8480 forj=1to4
  840. 8490 geta$
  841. 8500 ifa$=chr$(13)thenj=4:goto8550
  842. 8510 ifa$<chr$(35)then8490
  843. 8520 ifa$>chr$(90)then8490
  844. 8530 printa$;
  845. 8540 a0$=a0$+a$
  846. 8550 next
  847. 8560 forj=19to1step-1
  848. 8570 hs$(j+1)=hs$(j)
  849. 8580 hs(j+1)=hs(j)
  850. 8590 a=j+1
  851. 8600 ifpp(i,1)>hs(j)thena=j
  852. 8610 hs(a)=pp(i,1)
  853. 8620 hs$(a)=left$(a0$+"    ",4)
  854. 8630 ifa<>jthenj=0
  855. 8640 next
  856. 8650 print
  857. 8660 next
  858. 8670 gosub8150
  859. 8680 printchr$(147)
  860. 8690 ifhs=0then8730
  861. 8700 open1,8,15
  862. 8710 print#1,"s:h.s. schalter"
  863. 8720 close1
  864. 8730 open15,8,15
  865. 8740 open3,8,3,"0:h.s. schalter,u,w"
  866. 8750 poke198,0
  867. 8760 input#15,a,a$,a0,a1
  868. 8770 ifa=0then8870
  869. 8780 close3:close15
  870. 8790 printchr$(147)a,a$,a0,a1
  871. 8800 print"wenn highscore gewuenscht,"
  872. 8810 print"diskette einlegen und"
  873. 8820 print"'j' eingeben."
  874. 8830 print"sonst 'n' eingeben."
  875. 8840 geta$:ifa$="n"then8920
  876. 8850 ifa$="j"then8700
  877. 8860 goto8840
  878. 8870 fori=1to20
  879. 8880 ifhs(i)=0thenhs$(i)="    "
  880. 8890 print#3,hs$(i);chr$(13);hs(i)
  881. 8900 next
  882. 8910 close3:close15
  883. 8920 return
  884. 8930 ***********************
  885. 8940 *** laden assembler ***
  886. 8950 ***********************
  887. 8960 printchr$(147)"laden assembler"
  888. 8970 fori=0to1
  889. 8980 reada
  890. 8990 s=s+a
  891. 9000 ad(i)=a
  892. 9010 next
  893. 9020 reada
  894. 9030 ifs=athen9060
  895. 9040 print"fehler in pruefsummen"
  896. 9050 end
  897. 9060 an=49152
  898. 9070 en=49648
  899. 9080 s=0
  900. 9090 forj=0to1
  901. 9100 a=an+256*j
  902. 9110 e=a+255
  903. 9120 ife>enthene=en
  904. 9130 fori=atoe
  905. 9140 reada
  906. 9150 d2=peek(63)+256*peek(64)
  907. 9160 ifd1=0thend1=d2
  908. 9170 if(a<0)or(a>255)then9240
  909. 9180 ifa-int(a)<>0then9240
  910. 9190 s=s+a
  911. 9200 pokei,a:next
  912. 9210 ifs<>ad(j)then9270
  913. 9220 print"teil"j"in ordnung"
  914. 9230 goto9290
  915. 9240 print"datafehler in zeile"s
  916. 9250 print"falscher wert ="a
  917. 9260 end
  918. 9270 print"datafehler zeilen"d1"-"d2
  919. 9280 end
  920. 9290 d1=0
  921. 9300 s=0
  922. 9310 next
  923. 9320 return
  924. 9330 *************************
  925. 9340 *** datas pruefsummen ***
  926. 9350 *************************
  927. 9360 data36225,32305,68530
  928. 9370 *******************************
  929. 9380 *** datas maschinenprogramm ***
  930. 9390 *******************************
  931. 9400 data76,6,192,76,50,192,120,169,51,133,1,169,208,160,0,133,96,132,95,132
  932. 9410 data90,132,88,169,216,133,91,169,208,133,89,32,191,163,169,55,133,1,169
  933. 9420 data192,141,18,3,169,3,141,17,3,88,96,165,20,72,165,21,72,32,247,183
  934. 9430 data166,20,134,2,169,4,133,252,169,83,133,251,160,0,177,251,201,160,240
  935. 9440 data16,200,177,251,41,127,145,251,200,200,200,192,36,208,236,240,15,200
  936. 9450 data200,177,251,136,201,160,208,232,177,251,9,128,208,230,165,251,24
  937. 9460 data105,160,133,251,165,252,105,0,133,252,201,7,208,200,169,4,133,252
  938. 9470 data169,122,133,251,160,0,177,251,201,160,240,22,152,24,105,40,168,177
  939. 9480 data251,41,127,145,251,152,56,233,36,168,201,36,208,230,240,23,152,24
  940. 9490 data105,80,168,177,251,170,152,56,233,40,168,224,160,208,222,177,251
  941. 9500 data9,128,208,220,165,251,24,105,160,133,251,165,252,105,0,133,252,201
  942. 9510 data7,208,186,165,2,201,1,208,58,198,2,169,216,133,252,169,41,133,251
  943. 9520 data162,0,160,0,169,2,145,251,200,192,3,208,249,165,251,24,105,4,133
  944. 9530 data251,165,252,105,0,133,252,232,224,30,208,227,165,251,24,105,40,133
  945. 9540 data251,165,252,105,0,133,252,201,219,208,208,162,0,134,2,173,81,4,16
  946. 9550 data63,169,41,133,251,169,216,133,252,32,94,193,240,32,162,0,165,251
  947. 9560 data24,105,4,133,251,165,252,105,0,133,252,201,219,16,27,160,0,177,251
  948. 9570 data41,15,201,4,240,3,32,118,193,232,224,10,208,221,162,0,165,251,24
  949. 9580 data105,124,208,217,165,2,208,184,104,133,21,104,133,20,76,162,179,160
  950. 9590 data0,169,4,145,251,200,192,3,208,2,160,40,192,43,208,2,160,80,192,83
  951. 9600 data208,237,96,165,251,56,233,79,133,253,165,252,233,0,133,254,160,0
  952. 9610 data177,253,41,15,201,4,208,14,165,254,41,7,9,4,133,254,160,40,177,253
  953. 9620 data48,70,165,253,24,105,117,133,253,165,254,105,0,41,251,9,216,133,254
  954. 9630 data173,159,193,201,117,208,12,169,4,141,159,193,169,1,141,150,193,208
  955. 9640 data196,201,4,208,14,169,79,141,159,193,169,1,141,150,193,160,2,208,180
  956. 9650 data201,79,208,17,169,0,141,150,193,238,159,193,160,40,208,164,230,2
  957. 9660 data32,94,193,169,40,141,150,193,169,117,141,159,193,96
  958. 9670 ************************
  959. 9680 *** datas fuer basic ***
  960. 9690 ************************
  961. 9700 data10,1,1,5,0,0
  962. 9710 data9,3,4,3,5,2
  963. 9720 data12,2,5,6,4,3
  964. 9730 data11,7,9,7,8,6
  965. 9740 data14,9,7,13,6,8
  966. 9750 data0,10,10
  967. 9760 data0,255,0,1,255,128,1,255,128
  968. 9770 data1,255,128,0,255,0,28,126,56
  969. 9780 data62,60,124,63,24,252
  970. 9790 data63,153,252,63,255,252
  971. 9800 data63,255,252,63,153,252
  972. 9810 data63,24,252,62,60,124,28,126,56
  973. 9820 data0,255,0,1,255,128,1,255,128
  974. 9830 data1,255,128,0,255,0,0,0,0
  975. 9840 *** schalter ************c64
  976. 9850 ***                      ***
  977. 9860 *** 38911 bytes speicher ***
  978. 9870 *** 18347 bytes programm ***
  979. 9880 ***   357 bytes variable ***
  980. 9890 ***   759 bytes arrays   ***
  981. 9900 *** 12485 bytes strings  ***
  982. 9910 ***  6963 bytes frei     ***
  983. 9920 ****************************
  984.