home *** CD-ROM | disk | FTP | other *** search
/ Highscore 2 / Highscore_2_19xx_-.d64 / kreuzungen (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  14KB  |  775 lines

  1. 10 rem kreuzungen ==============64
  2. 20 rem                           =
  3. 30 rem ===========================
  4. 40 rem (c) guenter kramer        =
  5. 50 rem     emsdetten             =
  6. 60 rem                           =
  7. 70 rem basic 2.0  40z/ascii      =
  8. 80 rem c64 + 1530/1541/1571      =
  9. 90 rem ===========================
  10. 100 ifa=1then130
  11. 110 a=1
  12. 120 load"m.p. kreuzungen",8,1
  13. 130 poke46,64
  14. 140 poke45,1
  15. 150 clr
  16. 160 gosub4560
  17. 170 gosub5960
  18. 180 ifhs>0thengosub6250
  19. 190 sys49449
  20. 200 gosub7080
  21. 210 sys49483
  22. 220 sys49152
  23. 230 gosub4170
  24. 240 gosub5290
  25. 250 gosub3180
  26. 260 pokeze,0:pokesp,10:syscu
  27. 270 printchr$(158)"* e n d e *"
  28. 280 poke198,0
  29. 290 print:print
  30. 300 print"weiter = return"
  31. 310 geta$:ifa$<>chr$(013)then310
  32. 320 gosub6500
  33. 330 poke198,0
  34. 340 print"ein neues spiel ?"
  35. 350 geta$
  36. 360 ifa$="n"then480
  37. 370 ifa$<>"j"then350
  38. 380 fori=0to8
  39. 390 a(i)=0
  40. 400 forj=0to2
  41. 410 ms(i,j)=0
  42. 420 fork=0to16
  43. 430 forl=1to4
  44. 440 ge(i,k,j,l)=0
  45. 450 nextl,k,j,i
  46. 460 gosub4880
  47. 470 goto220
  48. 480 sys2048
  49. 490 end
  50. 500 rem **************************
  51. 510 rem ********** setzen punkte *
  52. 520 rem **************************
  53. 530 a0$="........."
  54. 540 a$=str$(ms(s,1))
  55. 550 a$=right$(a$,len(a$)-1)
  56. 560 a$=right$(a0$+a$,9)
  57. 570 a=s*3
  58. 580 pokeze,a:pokesp,30:syscu
  59. 590 printchr$(158)a$;
  60. 600 return
  61. 610 rem **************************
  62. 620 rem ************* auswaehlen *
  63. 630 rem **************************
  64. 640 a0=32*int((a-1)/4)+s1
  65. 650 a1=2*((a-1)-(4*int((a-1)/4)))+1
  66. 660 a1=2^a1*1.5
  67. 670 ifa>16thena0=so
  68. 680 pokea0,peek(a0)and(255-a1)
  69. 690 gosub1070
  70. 700 ifei>0then750
  71. 710 pokea0,peek(a0)ora1
  72. 720 gosub1070
  73. 730 ifei>0then750
  74. 740 goto680
  75. 750 pokea0,peek(a0)ora1
  76. 760 ifei=133thengosub2660:goto640
  77. 770 ifei=94then930
  78. 780 ifei=32then930
  79. 790 ifei=29thena=a+1
  80. 800 ifei=157thena=a-1
  81. 810 ifei=145thena=a-4
  82. 820 ifei=17thena=a+4
  83. 830 ifvk=0then880
  84. 840 ifa<1thena=a+17
  85. 850 ifa>16thena=a-16
  86. 860 ifge(s,a,0,1)=0then770
  87. 870 goto640
  88. 880 ifa<1thena=a+20
  89. 890 ifa>20thena=a-20
  90. 900 ifa>16then640
  91. 910 ifge(s,a,0,1)=0then770
  92. 920 goto640
  93. 930 return
  94. 940 rem **************************
  95. 950 rem ******** zuchtergebnisse *
  96. 960 rem **************************
  97. 970 ifms(s,2)=othen1030
  98. 980 fori=1toms(s,2)
  99. 990 gosub2000
  100. 1000 a=i
  101. 1010 gosub1770
  102. 1020 next
  103. 1030 return
  104. 1040 rem *************************
  105. 1050 rem *** eingabe auswerten ***
  106. 1060 rem *************************
  107. 1070 ei=0
  108. 1080 geta$
  109. 1090 ifa$<>chr$(133)then1150
  110. 1100 ifvk=1then1150
  111. 1110 ifi<>1then1150
  112. 1120 ifj<>0then1150
  113. 1130 ei=133
  114. 1140 goto1300
  115. 1150 ifms(s,0)<3then1200
  116. 1160 fork=1to100:next
  117. 1170 ifa$=""then1300
  118. 1180 ei=asc(a$)
  119. 1190 goto1300
  120. 1200 poke56322,224
  121. 1210 a2=peek(56320)
  122. 1220 ifms(s,0)=1thena2=peek(56321)
  123. 1230 poke56322,255
  124. 1240 if(a2and1)=0thenei=145
  125. 1250 if(a2and2)=0thenei=17
  126. 1260 if(a2and4)=0thenei=157
  127. 1270 if(a2and8)=0thenei=29
  128. 1280 if(a2and16)=0thenei=ei+32
  129. 1290 ifei=177thenei=94
  130. 1300 return
  131. 1310 rem *************************
  132. 1320 rem ************* geneholen *
  133. 1330 rem *************************
  134. 1340 ifa>16then1440
  135. 1350 a2=int(rnd(0)*2)+1
  136. 1360 a1(j*4+1)=ge(s,a,a2,1)
  137. 1370 a2=int(rnd(0)*2)+1
  138. 1380 a1(j*4+2)=ge(s,a,a2,2)
  139. 1390 a2=int(rnd(0)*2)+1
  140. 1400 a1(j*4+3)=ge(s,a,a2,3)
  141. 1410 a2=int(rnd(0)*2)+1
  142. 1420 a1(j*4+4)=ge(s,a,a2,4)
  143. 1430 goto1470
  144. 1440 fork=1to4
  145. 1450 a1(j*4+k)=ge(0,a-16,1,k)
  146. 1460 next
  147. 1470 return
  148. 1480 rem *************************
  149. 1490 rem ********* geneverbinden *
  150. 1500 rem *************************
  151. 1510 forj=1to4
  152. 1520 a2=a1(j)
  153. 1530 a3=a1(4+j)
  154. 1540 ge(0,4+i,1,j)=a2
  155. 1550 ge(0,4+i,2,j)=a3
  156. 1560 if(j=1)or(j=3)then1590
  157. 1570 ifa3<a2thena2=a3
  158. 1580 goto1630
  159. 1590 if(a2=3)and(a3=4)then1620
  160. 1600 if(a2=4)and(a3=3)then1620
  161. 1610 goto1570
  162. 1620 a2=5
  163. 1630 ge(0,4+i,0,j)=a2
  164. 1640 next
  165. 1650 ifge(0,4+i,0,2)>0then1670
  166. 1660 ge(0,4+i,0,3)=ge(0,4+i,0,1)
  167. 1670 aa=a
  168. 1680 a=i+20
  169. 1690 gosub1770
  170. 1700 a=i+4
  171. 1710 gosub2360
  172. 1720 a=aa
  173. 1730 return
  174. 1740 rem *************************
  175. 1750 rem ******** anzeigenblumen *
  176. 1760 rem *************************
  177. 1770 a3=s
  178. 1780 a2=a
  179. 1790 a4=int((a-1)/4)*4
  180. 1800 a0=8*a4+s1
  181. 1810 a4=a-a4
  182. 1820 ifa>16thena0=so:a3=0:a2=a-16
  183. 1830 ifa>20thena0=su
  184. 1840 a1=2^(2*a4-1)*1.5
  185. 1850 pokea0,peek(a0)and(255-a1)
  186. 1860 a0=a0+2*a4
  187. 1870 pokea0,fa(ge(a3,a2,0,1))
  188. 1880 pokea0-1,fa(ge(a3,a2,0,3))
  189. 1890 pokea0+8,249
  190. 1900 a3=2*ge(a3,a2,0,2)+ge(a3,a2,0,4)
  191. 1910 ifa3<1thena3=1
  192. 1920 pokea0+7,a3+248
  193. 1930 a3=peek(a0-2*a4)or(a1)
  194. 1940 pokea0-2*a4,a3
  195. 1950 poket+4,0
  196. 1960 return
  197. 1970 rem *************************
  198. 1980 rem ******** wert errechnen *
  199. 1990 rem *************************
  200. 2000 a=ge(s,i,0,1)
  201. 2010 a0=ge(s,i,0,2)
  202. 2020 a1=ge(s,i,0,3)
  203. 2030 a2=ge(s,i,0,4)
  204. 2040 ifa=a1thena0=0
  205. 2050 ifa0=0then2070
  206. 2060 a0=a0*a1*30+15*a2*a0*a1
  207. 2070 a=17*a+a0
  208. 2080 ge(s,i,0,0)=a
  209. 2090 a$=right$("  "+str$(a),4)
  210. 2100 a=int((i-1)/4)
  211. 2110 a0=i-1-4*a
  212. 2120 a=3+6*a
  213. 2130 a0=1+8*a0
  214. 2140 pokeze,a:pokesp,a0:syscu
  215. 2150 printchr$(030)chr$(018)a$
  216. 2160 return
  217. 2170 rem *************************
  218. 2180 rem ******** loeschen blume *
  219. 2190 rem *************************
  220. 2200 a0=32*int((a-1)/4)+s1
  221. 2210 a1=2*((a-1)-(4*int((a-1)/4)))+1
  222. 2220 a1=2^a1*1.5
  223. 2230 pokea0,peek(a0)and(255-a1)
  224. 2240 a$=chr$(032)+chr$(032)
  225. 2250 a$=a$+a$
  226. 2260 a1=int((a-1)/4)
  227. 2270 a0=a-1-4*a1
  228. 2280 a=3+6*a1
  229. 2290 a0=1+8*a0
  230. 2300 pokeze,a:pokesp,a0:syscu
  231. 2310 printchr$(030)chr$(018)a$
  232. 2320 return
  233. 2330 rem *************************
  234. 2340 rem ******* pruefen praemie *
  235. 2350 rem *************************
  236. 2360 a0=ge(0,a,0,1)
  237. 2370 a1=ge(0,a,0,2)
  238. 2380 a2=ge(0,a,0,3)
  239. 2390 a=ge(0,a,0,4)
  240. 2400 a3=pr(a0,a1,a2,a)
  241. 2410 pr(a0,a1,a2,a)=0
  242. 2420 a3=10*int(a3/r)
  243. 2430 ifa3<10then2620
  244. 2440 a1$="praemie ="+str$(a3)
  245. 2450 a2=100
  246. 2460 ifa3<210thena2=10
  247. 2470 a4=a3-a2*int(a3/a2)
  248. 2480 a3=a3-a4
  249. 2490 ms(s,1)=ms(s,1)+a4
  250. 2500 a0=18
  251. 2510 fork=1toa3/a2
  252. 2520 pokeze,24:pokesp,0:syscu
  253. 2530 printchr$(a0or(128*(kand1)))a1$;
  254. 2540 ms(s,1)=ms(s,1)+a2
  255. 2550 printchr$(146);
  256. 2560 gosub530
  257. 2570 next
  258. 2580 fork=960to980
  259. 2590 pokef+k,1
  260. 2600 pokeb+k,64
  261. 2610 next
  262. 2620 return
  263. 2630 rem *************************
  264. 2640 rem *** neue moeglichkeiten *
  265. 2650 rem *************************
  266. 2660 sr=s
  267. 2670 aa=a
  268. 2680 s=9
  269. 2690 k=1
  270. 2700 pokeze,0:pokesp,10:syscu
  271. 2710 printchr$(158)"neue farben"
  272. 2720 poke53280,7
  273. 2730 gosub5660
  274. 2740 fork0=1to5
  275. 2750 fork1=1to3
  276. 2760 fork2=1to5
  277. 2770 fork3=0to1
  278. 2780 ifpr(k0,k1,k2,k3)=0then2930
  279. 2790 ge(9,k,0,1)=k0
  280. 2800 ge(9,k,0,2)=k1
  281. 2810 ge(9,k,0,3)=k2
  282. 2820 ge(9,k,0,4)=k3
  283. 2830 a=k
  284. 2840 gosub1770
  285. 2850 k=k+1
  286. 2860 ifk<17then2930
  287. 2870 poke198,0
  288. 2880 geta$:ifa$=chr$(133)then2920
  289. 2890 ifa$<>chr$(134)then2880
  290. 2900 k0=6:k1=4:k2=6:k3=2
  291. 2910 goto2930
  292. 2920 k=1
  293. 2930 nextk3,k2,k1,k0
  294. 2940 ifk>16then2990
  295. 2950 fork=kto16
  296. 2960 a=k
  297. 2970 gosub2200
  298. 2980 next
  299. 2990 geta$:ifa$=chr$(133)then2680
  300. 3000 poke53280,0
  301. 3010 ifa$<>chr$(134)then2990
  302. 3020 fork=1to16
  303. 3030 a=k
  304. 3040 gosub2200
  305. 3050 next
  306. 3060 pokeze,0:pokesp,10:syscu
  307. 3070 printchr$(030)"blumenzucht"
  308. 3080 s=sr
  309. 3090 sr=i
  310. 3100 gosub970
  311. 3110 a=aa
  312. 3120 i=sr
  313. 3130 gosub5660
  314. 3140 return
  315. 3150 rem *************************
  316. 3160 rem ********** spiel laeuft *
  317. 3170 rem *************************
  318. 3180 s=0:r=0
  319. 3190 s=s+1
  320. 3200 ifs>anthens=1
  321. 3210 ifs=1thenr=r+1
  322. 3220 ifr>50then4130
  323. 3230 a$=str$(r)+". runde"
  324. 3240 a$=right$(a$,9)
  325. 3250 pokeze,0:pokesp,30:syscu
  326. 3260 printchr$(018)chr$(156)a$
  327. 3270 ad=110+(s-1)*120
  328. 3280 pokef+ad,7
  329. 3290 pokef+ad+1,7
  330. 3300 pokef+ad+2,7
  331. 3310 gosub530
  332. 3320 fori=ad+40toi+9
  333. 3330 pokef+i,7
  334. 3340 next
  335. 3350 fori=ad+4toad+8
  336. 3360 pokef+i,5
  337. 3370 pokeb+i,peek(b+i)or128
  338. 3380 next
  339. 3390 pokeze,0:pokesp,10:syscu
  340. 3400 printchr$(030)"blumenzucht"
  341. 3410 a=17
  342. 3420 gosub970
  343. 3430 fori=1to4
  344. 3440 forj=0to1
  345. 3450 gosub640
  346. 3460 gosub1340
  347. 3470 gosub1070
  348. 3480 ifei>0then3470
  349. 3490 poke198,0
  350. 3500 nextj
  351. 3510 gosub1510
  352. 3520 nexti
  353. 3530 gosub5660
  354. 3540 az=ms(s,2)
  355. 3550 a=0
  356. 3560 ifms(s,2)=0then3780
  357. 3570 a=a+1
  358. 3580 ifa>16thena=1
  359. 3590 ifge(s,a,0,1)=0then3570
  360. 3600 poke53280,13
  361. 3610 pokeze,0:pokesp,10:syscu
  362. 3620 printchr$(030)"verkaufen ?"
  363. 3630 vk=1
  364. 3640 gosub640
  365. 3650 ifei=94then3760
  366. 3660 aa=a
  367. 3670 gosub2200
  368. 3680 a=aa
  369. 3690 ms(s,1)=ms(s,1)+ge(s,a,0,0)
  370. 3700 gosub530
  371. 3710 a=aa
  372. 3720 ge(s,a,0,1)=0
  373. 3730 pr=pr+1
  374. 3740 ms(s,2)=ms(s,2)-1
  375. 3750 goto3560
  376. 3760 ifms(s,2)>12then3640
  377. 3770 poke53280,2
  378. 3780 vk=0
  379. 3790 a4=1
  380. 3800 fori=1toaz
  381. 3810 a=i
  382. 3820 gosub2200
  383. 3830 ifge(s,i,0,1)=0then3900
  384. 3840 forj=0to2
  385. 3850 fork=1to4
  386. 3860 ge(s,a4,j,k)=ge(s,i,j,k)
  387. 3870 nextk,j
  388. 3880 ifa4<ithenge(s,i,0,1)=0
  389. 3890 a4=a4+1
  390. 3900 next
  391. 3910 a=ms(s,2)-4
  392. 3920 fori=5to8
  393. 3930 a0=255-2^(2*(i-5)+1)*1.5
  394. 3940 pokesu,peek(su)anda0
  395. 3950 forj=0to2
  396. 3960 fork=1to4
  397. 3970 ge(s,a+i,j,k)=ge(0,i,j,k)
  398. 3980 ge(0,i,j,k)=0
  399. 3990 nextk,j,i
  400. 4000 ms(s,2)=ms(s,2)+4
  401. 4010 pokesu,0
  402. 4020 fori=s1tos4step32
  403. 4030 pokei,0
  404. 4040 next
  405. 4050 fori=adtoi+9
  406. 4060 pokei+f,4
  407. 4070 pokei+b,peek(i+b)and127
  408. 4080 pokei+f+40,4
  409. 4090 next
  410. 4100 poke53280,0
  411. 4110 poke53281,0
  412. 4120 goto3190
  413. 4130 return
  414. 4140 rem *************************
  415. 4150 rem ********* anfangsfragen *
  416. 4160 rem *************************
  417. 4170 poke53280,13
  418. 4180 poke53281,13
  419. 4190 pokeze,12:pokesp,12:syscu
  420. 4200 printchr$(030)"wieviele spieler?"
  421. 4210 geta$
  422. 4220 if(a$<"1")or(a$>"8")then4210
  423. 4230 an=val(a$)
  424. 4240 pokeze,14:pokesp,12:syscu
  425. 4250 printan"spieler - ok?"
  426. 4260 geta$:ifa$="j"then4300
  427. 4270 ifa$<>"n"then4260
  428. 4280 pokezl,14:syslo
  429. 4290 goto4210
  430. 4300 printchr$(147)chr$(030)
  431. 4310 printtab(12)"bitte eingeben:"
  432. 4320 print
  433. 4330 printtab(12)"1 = joystick 1"
  434. 4340 printtab(12)"2 = joystick 2"
  435. 4350 printtab(12)"3 = tastatur"
  436. 4360 printchr$(156)
  437. 4370 fori=1toan
  438. 4380 printtab(12)"spieler"i" = ";
  439. 4390 pokepu,0
  440. 4400 geta$
  441. 4410 if(a$<"1")or(a$>"3")then4400
  442. 4420 ms(i,0)=val(a$)
  443. 4430 printe$(ms(i,0))
  444. 4440 next
  445. 4450 printchr$(030)"in ordnung?"
  446. 4460 geta$:ifa$="j"then4490
  447. 4470 ifa$="n"then4300
  448. 4480 goto4460
  449. 4490 poke53280,0
  450. 4500 poke53281,0
  451. 4510 printchr$(147)chr$(159)
  452. 4520 return
  453. 4530 rem *************************
  454. 4540 rem ********** anfangswerte *
  455. 4550 rem *************************
  456. 4560 v=53248:rem *********** vic *
  457. 4570 su=49664:rem  sprites unten *
  458. 4580 so=su+32:rem * sprites oben *
  459. 4590 s1=so+32:rem ****** reihe 1 *
  460. 4600 s2=s1+32:rem ****** reihe 2 *
  461. 4610 s3=s2+32:rem ****** reihe 3 *
  462. 4620 s4=s3+32:rem ****** reihe 4 *
  463. 4630 t=54272:rem *********** sid *
  464. 4640 n=51200:rem ******* zeichen *
  465. 4650 f=55296:rem ******* farbram *
  466. 4660 b=1024:rem ******** bildram *
  467. 4670 cu=58640:rem ******* cursor *
  468. 4680 ze=214:rem ******* cu-zeile *
  469. 4690 sp=211:rem ****** cu-spalte *
  470. 4700 pu=198:rem ******* tastatur *
  471. 4710 zl=781:rem ****** loesch ze *
  472. 4720 lo=59903:rem ******* sys zl *
  473. 4730 dime$(8):rem ****** eingabe *
  474. 4740 e$(1)="joy 1"
  475. 4750 e$(2)="joy 2"
  476. 4760 e$(3)="taste"
  477. 4770 dimms(8,2):rem **** spieler *
  478. 4780 dimfb(5):rem ******* farben *
  479. 4790 fa(1)=4
  480. 4800 fa(2)=14
  481. 4810 fa(3)=7
  482. 4820 fa(4)=2
  483. 4830 fa(5)=10
  484. 4840 dimge(9,16,2,4):rem ** gene *
  485. 4850 dimhs$(20):rem ** highscore *
  486. 4860 dimhs(20):rem *** highscore *
  487. 4870 dimpr(5,3,5,1):rem praemien *
  488. 4880 fori=1to5
  489. 4890 forj=1to3
  490. 4900 fork=1to5
  491. 4910 ifk=ithen4940
  492. 4920 pr(i,j,k,0)=100*i*j*k
  493. 4930 pr(i,j,k,1)=200*i*j*k
  494. 4940 nextk,j,i
  495. 4950 fori=1to4
  496. 4960 ge(0,i,0,1)=i
  497. 4970 ge(0,i,0,3)=i
  498. 4980 next
  499. 4990 a=rnd(-ti)
  500. 5000 fori=1to4
  501. 5010 forj=1to2
  502. 5020 fork=1to3step2
  503. 5030 ge(0,i,j,k)=ge(0,i,0,k)
  504. 5040 nextk,j,i
  505. 5050 a=int(rnd(0)*4)+1
  506. 5060 a(a)=1
  507. 5070 a=int(rnd(0)*4)+1
  508. 5080 ifa(a)>0then5070
  509. 5090 a(a)=2
  510. 5100 a=int(rnd(0)*4)+1
  511. 5110 ifa(a)>0then5100
  512. 5120 a(a)=3
  513. 5130 fori=1to4
  514. 5140 forj=0to2
  515. 5150 ge(0,i,j,2)=a(i)
  516. 5160 nextj,i
  517. 5170 a=int(rnd(0)*4)+1
  518. 5180 fori=0to2
  519. 5190 ge(0,a,i,4)=1
  520. 5200 next
  521. 5210 poke53280,0
  522. 5220 poke53281,0
  523. 5230 printchr$(147)chr$(156)
  524. 5240 pokev+39,1
  525. 5250 return
  526. 5260 rem *************************
  527. 5270 rem *********** spielanfang *
  528. 5280 rem *************************
  529. 5290 printchr$(147)chr$(156)
  530. 5300 fori=0to29
  531. 5310 pokef+i,1
  532. 5320 pokef+i+960,1
  533. 5330 pokeb+i,64
  534. 5340 forj=i+120toj+840step240
  535. 5350 pokef+j,5
  536. 5360 pokeb+j,160
  537. 5370 next
  538. 5380 pokeb+i+960,64
  539. 5390 next
  540. 5400 pokeso+1,fa(1)
  541. 5410 pokeso+2,fa(1)
  542. 5420 pokeso+3,fa(2)
  543. 5430 pokeso+4,fa(2)
  544. 5440 pokeso+5,fa(3)
  545. 5450 pokeso+6,fa(3)
  546. 5460 pokeso+7,fa(4)
  547. 5470 pokeso+8,fa(4)
  548. 5480 fori=9to16
  549. 5490 pokeso+i,249
  550. 5500 next
  551. 5510 pokeso,255
  552. 5520 pokeze,2:pokesp,0:syscu
  553. 5530 fori=1toan
  554. 5540 a$="*"+right$(str$(i),1)+"*"
  555. 5550 a$=a$+chr$(032)+e$(ms(i,0))
  556. 5560 printtab(30)a$
  557. 5570 printtab(30)"........0";
  558. 5580 ifi=8then5610
  559. 5590 print
  560. 5600 printtab(30)"========="
  561. 5610 next
  562. 5620 return
  563. 5630 rem *************************
  564. 5640 rem ****************** gong *
  565. 5650 rem *************************
  566. 5660 gosub5770
  567. 5670 poket+1,8:poket,180:poket+5,12
  568. 5680 poket+8,15:poket+7,247
  569. 5690 poket+15,13:poket+14,10
  570. 5700 poket+12,12:poket+19,12
  571. 5710 poket+24,15:poket+4,23
  572. 5720 poket+11,23:poket+18,23
  573. 5730 return
  574. 5740 rem *************************
  575. 5750 rem ********** loeschen sid *
  576. 5760 rem *************************
  577. 5770 fort0=0to24:poket+t0,0:nextt0
  578. 5780 return
  579. 5790 rem *************************
  580. 5800 rem **************** heulen *
  581. 5810 rem *************************
  582. 5820 gosub5770
  583. 5830 poket,t1-256*int(t1/256)
  584. 5840 poket+1,int(t1/256):poket+6,240
  585. 5850 poket+24,15:poket+4,33:return
  586. 5860 rem *************************
  587. 5870 rem **************** schuss *
  588. 5880 rem *************************
  589. 5890 gosub5770
  590. 5900 poket+5,9:poket+1,21
  591. 5910 poket+24,15:poket+4,129
  592. 5920 return
  593. 5930 rem *************************
  594. 5940 rem ******* lesen highscore *
  595. 5950 rem *************************
  596. 5960 open15,8,15
  597. 5970 open3,8,3,"0:h.s. kreuzungen,u,r"
  598. 5980 input#15,a,a$,a0,a1
  599. 5990 ifa=0thenhs=1:goto6120
  600. 6000 close3:close15
  601. 6010 printchr$(147)a;a$;a0;a1
  602. 6020 print
  603. 6030 print"wenn highscore vorhanden,"
  604. 6040 print"diskette einlegen und"
  605. 6050 print"'j' eingeben."
  606. 6060 print
  607. 6070 print"sonst 'n' eingeben."
  608. 6080 geta$
  609. 6090 ifa$="j"then5960
  610. 6100 ifa$<>"n"then6080
  611. 6110 hs=0
  612. 6120 a$="    "
  613. 6130 a=0
  614. 6140 fori=1to20
  615. 6150 ifhs=0then6170
  616. 6160 input#3,a$,a
  617. 6170 hs$(i)=a$
  618. 6180 hs(i)=a
  619. 6190 next
  620. 6200 close3:close15
  621. 6210 return
  622. 6220 rem *************************
  623. 6230 rem **** anzeigen highscore *
  624. 6240 rem *************************
  625. 6250 printchr$(147)chr$(030)
  626. 6260 printspc(15)"ehrentafel"
  627. 6270 print:print
  628. 6280 a$=""
  629. 6290 fori=1to7
  630. 6300 a$=a$+chr$(032)
  631. 6310 next
  632. 6320 fori=1to10
  633. 6330 a0$=right$(a$+str$(hs(i)),7)
  634. 6340 a1$=right$(a$+str$(hs(i+10)),7)
  635. 6350 ifhs(i)=0thena0$=a$
  636. 6360 ifhs(i+10)=0thena1$=a$
  637. 6370 printspc(6)hs$(i)spc(1)a0$;
  638. 6380 printspc(1)chr$(122)chr$(122);
  639. 6390 printspc(1)hs$(i+10)spc(1)a1$
  640. 6400 next
  641. 6410 pokeze,22:pokesp,0:syscu
  642. 6420 print"weiter = return"
  643. 6430 poke198,0
  644. 6440 geta$
  645. 6450 ifa$<>chr$(013)then6440
  646. 6460 return
  647. 6470 rem *************************
  648. 6480 rem ****** update highscore *
  649. 6490 rem *************************
  650. 6500 printchr$(147)
  651. 6510 pokeze,10:pokesp,13:syscu
  652. 6520 print"namen eingeben"
  653. 6530 print
  654. 6540 fori=1toan
  655. 6550 ifms(i,1)<hs(20)then6770
  656. 6560 a0$=""
  657. 6570 poke198,0
  658. 6580 printspc(13)"spieler"i" = ";
  659. 6590 forj=1to4
  660. 6600 geta$
  661. 6610 ifa$=chr$(013)thenj=4:goto6660
  662. 6620 ifa$<chr$(035)then6600
  663. 6630 ifa$>chr$(090)then6600
  664. 6640 printa$;
  665. 6650 a0$=a0$+a$
  666. 6660 next
  667. 6670 forj=19to1step-1
  668. 6680 hs$(j+1)=hs$(j)
  669. 6690 hs(j+1)=hs(j)
  670. 6700 a=j+1
  671. 6710 ifms(i,1)>hs(j)thena=j
  672. 6720 hs(a)=ms(i,1)
  673. 6730 hs$(a)=left$(a0$+"    ",4)
  674. 6740 ifa<>jthenj=0
  675. 6750 next
  676. 6760 print
  677. 6770 next
  678. 6780 gosub6250
  679. 6790 printchr$(147)
  680. 6800 ifhs=0then6840
  681. 6810 open1,8,15
  682. 6820 print#1,"s:h.s. kreuzungen"
  683. 6830 close1
  684. 6840 open15,8,15
  685. 6850 open3,8,3,"0:h.s. kreuzungen,u,w"
  686. 6860 poke198,0
  687. 6870 input#15,a,a$,a0,a1
  688. 6880 ifa=0then6980
  689. 6890 close3:close15
  690. 6900 printchr$(147)a,a$,a0,a1
  691. 6910 print"wenn highscore gewuenscht,"
  692. 6920 print"diskette einlegen und"
  693. 6930 print"'j' eingeben."
  694. 6940 print"sonst 'n' eingeben."
  695. 6950 geta$:ifa$="n"then7030
  696. 6960 ifa$="j"then6810
  697. 6970 goto6950
  698. 6980 fori=1to20
  699. 6990 ifhs(i)=0thenhs$(i)="    "
  700. 7000 print#3,hs$(i);chr$(013);hs(i)
  701. 7010 next
  702. 7020 close3:close15
  703. 7030 gosub6250
  704. 7040 return
  705. 7050 rem *************************
  706. 7060 rem ***************** titel *
  707. 7070 rem *************************
  708. 7080 poke2040,13
  709. 7090 printchr$(147)
  710. 7100 poke53280,0
  711. 7110 poke53281,0
  712. 7120 printchr$(147)
  713. 7130 pokev+23,1:pokev+29,1
  714. 7140 a$="":a0$=""
  715. 7150 fori=1to14
  716. 7160 a$=a$+chr$(032)
  717. 7170 next
  718. 7180 fa=10:r=128
  719. 7190 forz1=1to3
  720. 7200 z=z1:gosub7370
  721. 7210 nextz1
  722. 7220 a$="kreuzungen"
  723. 7230 z=2
  724. 7240 gosub7370
  725. 7250 pokeze,5:pokesp,4:syscu
  726. 7260 print"  highscore team praesentiert"
  727. 7270 pokeze,6:pokesp,12:syscu
  728. 7280 print"ein programm von"
  729. 7290 a$="guenter kramer"
  730. 7300 z=8:fa=3:a0$="s":r=0
  731. 7310 pokev+23,0:pokev+29,0
  732. 7320 gosub7370
  733. 7330 return
  734. 7340 rem *************************
  735. 7350 rem ******** sprites laufen *
  736. 7360 rem *************************
  737. 7370 y=z*8+50:s=13*64
  738. 7380 z=19+b+z*40-len(a$)/2
  739. 7390 fori=1tolen(a$)
  740. 7400 pokev+1,230
  741. 7410 pokev,0:t1=34*256
  742. 7420 a=asc(mid$(a$,i,1))
  743. 7430 ifa=32then7620
  744. 7440 ifa>63thena=a-64
  745. 7450 ifa0$="s"then7610
  746. 7460 a0=168-(4*(len(a$)+1and254))+i*8
  747. 7470 forj=stos+62:pokej,0:nextj
  748. 7480 forj=0to7
  749. 7490 pokes+3*j+1,peek(n+j+a*8)
  750. 7500 nextj:t1=0:gosub5820
  751. 7510 pokev+21,1
  752. 7520 pokev+39,1
  753. 7530 forj=0toa0step4
  754. 7540 pokev,jand255
  755. 7550 pokev+16,int(j/256)
  756. 7560 poket+1,jand255:nextj
  757. 7570 forj=230toystep-2
  758. 7580 pokev+1,j
  759. 7590 poket+1,j-34
  760. 7600 nextj
  761. 7610 gosub5890
  762. 7620 pokez+i+f-b,fa
  763. 7630 pokez+i,a+r
  764. 7640 pokev+21,0
  765. 7650 nexti
  766. 7660 return
  767. 7670 rem kreuzungen ============64
  768. 7680 rem 038911 bytes memory     =
  769. 7690 rem 014336 bytes program    =
  770. 7700 rem 000315 bytes variable   =
  771. 7710 rem 014799 bytes arrays     =
  772. 7720 rem 000287 bytes strings    =
  773. 7730 rem 009174 bytes free       =
  774. 7740 rem =========================
  775.