home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
zzZACK64
/
zzZACK64_4_1992_-_de.d64
/
grosstadt
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
18KB
|
984 lines
100 rem schalter ******************c64
110 rem (p) 6/87 by commodore welt ***
120 rem ******************************
130 rem (c) 6/87 by g. kramer ***
140 rem emsdetten ***
150 rem ******************************
160 rem basic 2.0 ***
170 rem c64 + 1530/1541 ***
180 rem ******************************
190 poke788,52
200 printchr$(142)
210 poke657,128
220 gosub7870
230 gosub8960
240 gosub6410
250 gosub6250
260 gosub520
270 gosub1590
280 fori=0to20
290 pokezl,i
300 syslo
310 next
320 gosub8400
330 pokeze,12:pokesp,16:syscu
340 printchr$(15)"spielende"
350 print
360 printtab(11)"ein neues spiel ?"
370 geta$
380 ifa$="n"then480
390 ifa$<>"j"then370
400 printchr$(147)
410 fori=0to4
420 pp(i,2)=5
430 zu(i)=0
440 forj=0to1
450 pp(i,j)=0
460 nextj,i
470 goto260
480 poke788,49:end
490 *******************
500 *** anfangsbild ***
510 *******************
520 pokeze,11:pokesp,11:syscu
530 pokepu,0
540 an=1
550 ifhs<1then590
560 printtab(11)"f1 = highscore"
570 printtab(11)"f3 = altes spiel"
580 print
590 printtab(12)"1 = joystick 1"
600 printtab(12)"2 = joystick 2"
610 printtab(12)"3 = tastatur"
620 printtab(12)"0 = spielanfang"
630 print
640 printtab(11)an".spieler :";
650 geta$
660 ifa$<>chr$(133)then700
670 gosub8150
680 printchr$(147)
690 goto520
700 ifa$<>chr$(134)then1130
710 printchr$(147)
720 print"name des spieles : "
730 poke198,0
740 a0$=""
750 fori=1to16
760 geta$:ifa$=""then760
770 ifi<2then790
780 ifa$=chr$(13)theni=17:goto830
790 ifa$<chr$(48)then760
800 ifa$>chr$(90)then760
810 a0$=a0$+a$
820 printa$;
830 next
840 open15,8,15
850 open3,8,3,a0$+",u,r"
860 input#15,a,a$,a0,a1
870 ifa=0then970
880 close3:close15
890 print:print"fehler :"a,a$
900 print"bitte richtige diskette einlegen"
910 print"und return geben."
920 print"oder 'n' fuer nein eingeben"
930 poke198,0
940 geta$:ifa$=chr$(13)then710
950 ifa$="n"then520
960 goto940
970 input#3,an,bi,ls
980 fori=1to4
990 input#3,zu(i)
1000 forj=0to2
1010 input#3,pp(i,j)
1020 nextj,i
1030 fori=0to8
1040 fori0=0to4
1050 fori1=0to1
1060 input#3,fe(i,i0,i1)
1070 nexti1,i0,i
1080 input#3,bo
1090 close3:close15
1100 printchr$(147)
1110 l$="0"
1120 goto1700
1130 if(a$<"0")or(a$>"3")then650
1140 ifa$="0"thenan=an-1:goto1220
1150 pp(an,0)=val(a$)
1160 ifa$="3"thena$="tastatur
1170 [139]a$[179]"3"[167]a$[178]"joystick "[170]a$
1180 [153][199](18)a$
1190 [139]an[178]4[167]1230
1200 an[178]an[170]1
1210 [137]640
1220 [139]an[178]0[167]an[178]1:[137]650
1230 [153]
1240 [153][163]11)an"spieler - ok?"
1250 [161]a$:[139]a$[178]"j"[167]1320
1260 [139]a$[179][177]"n"[167]1250
1270 [129]i[178]18[164]an[170]19
1280 [151]zl,i:[158]lo
1290 [130]
1300 [137]520
1310 [151]53280,0
1320 [151]53281,0
1330 [153][199](158)
1340 [153][199](147)a$(0)
1350 [142]
1360 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
1370 [172][172][172] neues bild [172][172][172]
1380 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
1390 [153][199](158)[199](19);
1400 [153][199](146)a$(0)
1410 [129]i[178]1[164]5
1420 [129]j[178]1[164]3
1430 [153]a$(1)
1440 [130]
1450 [139]i[179]5[167][153]a$(2)
1460 [130]
1470 [153]a$(3)
1480 [141]4710
1490 [151]b[170]80,194
1500 [151]f[170]80,4
1510 [151]b[170]757,160
1520 [151]f[170]757,2
1530 a[178][183](1)
1540 [141]7270
1550 [142]
1560 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
1570 [172][172][172] spiel laeuft [172][172][172]
1580 [172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172]
1590 ls[178]0
1600 bi[178]0
1610 l$[178]"0"
1620 ls[178]ls[170]1
1630 a[178]0
1640 [129]i[178]1[164]an
1650 a[178]a[170]pp(i,2)
1660 [130]
1670 [139]a[178]0[167][142]
1680 [139]ls[177]an[167]ls[178]1
1690 [139]ls[178]1[167]l$[178]"1"
1700 dr[178]7
1710 [139]pp(ls,2)[178]0[167]1620
1720 [151]v[170]2,0
1730 [151]v[170]3,0
1740 [141]1390
1750 [141]5270
1760 [141]5560
1770 ss[178]b[170]82
1780 [151]v,32
1790 [151]v[170]1,58
1800 [151]v[170]23,0
1810 [151]v[170]29,0
1820 [151]v[170]16,0
1830 [151]v[170]21,3
1840 [151]v[170]27,0
1850 [141]5960
1860 [139]ei[177]0[167]1900
1870 [151]v[170]27,3
1880 [141]5960
1890 [139]ei[178]0[167]1840
1900 [151]v[170]27,0
1910 [139]ei[179][177]3[167]2430
1920 [153][199](147)
1930 [153][163]11)"spielstand sichern"
1940 [153]:[153]
1950 [153]"sicherungsname : "
1960 [151]198,0
1970 a0$[178]""
1980 [129]i[178]1[164]16
1990 [161]a$:[139]a$[178]""[167]1990
2000 [139]i[179]2[167]2020
2010 [139]a$[178][199](13)[167]i[178]17:[137]2060
2020 [139]a$[179][199](48)[167]1990
2030 [139]a$[177][199](90)[167]1990
2040 a0$[178]a0$[170]a$
2050 [153]a$;
2060 [130]
2070 [159]15,8,15
2080 [159]3,8,3,a0$[170]",u,w"
2090 [132]15,a,a$,a0,a1
2100 [139]a[178]0[167]2210
2110 [160]3:[160]15
2120 [153]:[153]"fehler :"a,a$
2130 [153]"bitte diskette mit mindestens einem"
2140 [153]"freien sektor einlegen, ready machen"
2150 [153]"und return geben."
2160 [153]"oder 'n' fuer nein eingeben"
2170 [151]198,0
2180 [161]a$:[139]a$[178][199](13)[167]1920
2190 [139]a$[178]"n"[167]1840
2200 [137]2180
2210 [152]3,an","bi","ls
2220 [129]i[178]1[164]4
2230 [152]3,zu(i)
2240 [129]j[178]0[164]2
2250 [152]3,pp(i,j)
2260 [130]j,i
2270 [129]i[178]0[164]8
2280 [129]i0[178]0[164]4
2290 [129]i1[178]0[164]1
2300 [152]3,fe(i,i0,i1)
2310 [130]i1,i0,i
2320 [152]3,bo
2330 [160]3:[160]15
2340 [153]:[153]a0$" gesichert"
2350 [153]"weiterspielen ? (j/n)
2360 poke198,0
2370 geta$
2380 ifa$="n"thenreturn
2390 ifa$<>"j"then2370
2400 printchr$(147)
2410 l$="0"
2420 goto1700
2430 ifei<>6then2480
2440 pp(ls,2)=pp(ls,2)-1
2450 bo=0
2460 gosub5560
2470 goto3650
2480 ifei<>5then2520
2490 gosub4400
2500 ifbo<1then2440
2510 goto1840
2520 ifei=32then3050
2530 a=0
2540 ifei=145thena=-80
2550 ifei=29thena=2
2560 ifei=17thena=80
2570 ifei=157thena=-2
2580 ifa=0then1840
2590 ifss+a<1106then1840
2600 if(peek(ss+a)and128)=0then1840
2610 ifpeek(v+2)>0then2740
2620 sz=bo*2
2630 ifsz<80thensz=80
2640 sz=int(sz*rnd(0))
2650 ifsz>20then2740
2660 pokev+40,13
2670 a0=64+32*(sz-int(sz/7)*7)
2680 pokev+2,a0and255
2690 pokev+16,peek(v+16)and1
2700 ifa0<256then2720
2710 pokev+16,peek(v+16)or2
2720 pokev+3,32*int(sz/7)+92
2730 sw=int(rnd(sz)*6)+7
2740 sw=sw-1
2750 ifsw=1thenpokev+2,0:pokev+3,0
2760 dr=7
2770 ss=ss+2*a
2780 ifabs(a)>2then3000
2790 fori=sgn(a)to16*astepsgn(a)
2800 ifsgn(a)=1then2830
2810 ifpeek(v)=0thenpokev+16,peek(v+16)and254
2820 goto2840
2830 ifpeek(v)=255thenpokev+16,peek(v+16)or1
2840 pokev,(peek(v)+sgn(a))and255
2850 next
2860 ifss>1780then3140
2870 ifpeek(v)<>peek(v+2)then2960
2880 ifpeek(v+1)+2<>peek(v+3)then2960
2890 fori=1tosw
2900 gosub7270
2910 bo=bo+10
2920 gosub3860
2930 next
2940 pokev+2,0:pokev+3,0
2950 goto1840
2960 bo=bo-3
2970 ifbo<1then2440
2980 gosub3860
2990 goto1840
3000 a=a/40
3010 fori=sgn(a)to16*astepsgn(a)
3020 pokev+1,peek(v+1)+sgn(a)
3030 next
3040 goto2860
3050 bo=bo-dr
3060 ifbo<1then2440
3070 dr=0
3080 gosub3860
3090 a=ss-b-82
3100 j=int(a/160)
3110 i=int((a-160*j)/4)
3120 gosub4580
3130 goto1840
3140 a=peek(ss-b+f)and15
3150 ifa=2then1940
3160 ifss<1781then1840
3170 poke53280,4
3180 gosub3930
3190 a5=f+82
3200 a$=chr$(32)+chr$(32)+chr$(32)
3210 printchr$(150);
3220 a4=6*ls-5
3230 j=-1
3240 bz=0
3250 pokeze,22:pokesp,0:syscu
3260 gosub7270
3270 forj0=0to640step160
3280 j=j+1
3290 i=-1
3300 fori0=0to32step4
3310 i=i+1
3320 iffe(i,j,1)=10then3340
3330 if(peek(a5+i0+j0)and15)=2then3450
3340 pp(ls,1)=pp(ls,1)+10
3350 bz=bz+1
3360 a1$=a$+str$(pp(ls,1))
3370 a1$=right$(a1$,5)
3380 printtab(a4)chr$(18)a1$
3390 printchr$(145);
3400 fa=10
3410 a=fe(i,j,1)
3420 poket+4,0:poket+11,0:poket+18,0
3430 poket+4,23:poket+11,23:poket+18,23
3440 gosub5010
3450 nexti0,j0
3460 ifbz<41then3650
3470 fori=0to20
3480 pokezl,i
3490 syslo
3500 next
3510 fori=1tobz-40
3520 pp(ls,1)=pp(ls,1)+100
3530 pokeze,12:pokesp,15:syscu
3540 printchr$(18)"extrabonus"
3550 a$=chr$(32)+chr$(32)+chr$(32)
3560 a1$=a$+str$(pp(ls,1))
3570 a1$=right$(a1$,5)
3580 pokeze,22:pokesp,6*ls-5
3590 syscu
3600 printchr$(18)chr$(150)a1$
3610 pokeze,12:pokesp,15:syscu
3620 print"extrabonus"
3630 gosub7270
3640 next
3650 gosub7430
3660 gosub4150
3670 fori=255to0step-5
3680 poke53280,4
3690 poket+1,i
3700 forj=1to10:next
3710 poke53280,0
3720 forj=1to10:next
3730 next
3740 gosub7380
3750 pokev+21,0
3760 fori=880to905
3770 forj=0to40step40
3780 pokef+i+j,3
3790 nextj,i
3800 gosub7380
3810 poke53280,0
3820 goto1610
3830 ********************
3840 *** bonus setzen ***
3850 ********************
3860 b$=right$(" "+str$(bo),3)
3870 pokeze,23:pokesp,0:syscu
3880 printtab(29)chr$(30)b$
3890 return
3900 ***********************
3910 *** bonus abrechnen ***
3920 ***********************
3930 a=bo-3*int(bo/3)
3940 pp(ls,1)=pp(ls,1)+a
3950 bo=bo-a
3960 gosub3860
3970 ifbo=0then4110
3980 t1=0:gosub7430
3990 fori=1tobostep3
4000 bo=bo-3
4010 pp(ls,1)=pp(ls,1)+3
4020 a$=chr$(32)+chr$(32)+chr$(32)
4030 a1$=a$+str$(pp(ls,1))
4040 a1$=right$(a1$,5)
4050 poket+1,i/3
4060 pokeze,22:pokesp,6*ls-5
4070 syscu
4080 printchr$(18)chr$(150)a1$
4090 gosub3860
4100 next
4110 return
4120 *******************
4130 *** zusatzleben ***
4140 *******************
4150 a=int(pp(ls,1)/10000)
4160 ifa<=zu(ls)then4360
4170 a=pp(ls,2)
4180 ifa=5then4360
4190 a0=4*a-2
4200 a$=chr$(32)+chr$(32)
4210 a0$=chr$(117)+chr$(105)
4220 a1$=chr$(106)+chr$(107)
4230 zu(ls)=zu(ls)+1
4240 a=a+1
4250 pp(ls,2)=a
4260 fori=1to10
4270 pokeze,a0:pokesp,0:syscu
4280 printtab(37)a$
4290 printtab(37)a$
4300 t1=4096*i
4310 gosub7430
4320 pokeze,a0:pokesp,0:syscu
4330 printtab(37)a0$
4340 printtab(37)a1$
4350 next
4360 return
4370 ****************************
4380 *** drehen rote schalter ***
4390 ****************************
4400 a=ss-b-82
4410 j0=int(a/160)
4420 i0=(a-160*j0)/4
4430 forj=j0-1toj0+1
4440 fori=i0-1toi0+1
4450 if(i<0)or(j<0)then4530
4460 if(i>8)or(j>4)then4530
4470 a=peek(f+82+160*j+4*i)and15
4480 ifa<>2then4530
4490 gosub4580
4500 bo=bo-30
4510 ifbo<1thenbo=0:i=10:j=10
4520 gosub3860
4530 nexti,j
4540 return
4550 *****************************
4560 *** einzelschalter drehen ***
4570 *****************************
4580 a1=fe(i,j,1)
4590 ifa1<>10then4620
4600 a1=int(rnd(a1)*10)
4610 bo=bo-30
4620 a=sc(a1,1)
4630 fa=2
4640 gosub7500
4650 gosub5010
4660 a=usr(1)
4670 return
4680 *********************
4690 *** felder setzen ***
4700 *********************
4710 printchr$(28)chr$(19)
4720 gosub7500
4730 ifl$="1"thenbi=bi+1
4740 bo=0
4750 fori=0to8
4760 forj=0to4
4770 ifl$="1"then4800
4780 a=fe(i,j,0)
4790 goto4880
4800 a=int(10*rnd(0))
4810 if(j=0)or(j=4)then4880
4820 if(i=0)or(i=8)then4880
4830 bl=int(bi/5)
4840 ifbl=0then4880
4850 ifbl>7thenbl=7
4860 a0=int(rnd(1)*21/bl)
4870 ifa0=0thena=10
4880 poket+4,128
4890 poket+4,129
4900 fe(i,j,0)=a
4910 fa=2
4920 bo=bo+10
4930 ifa<6thenbo=bo+5
4940 ifa=10thenbo=bo+30
4950 gosub5010
4960 nextj,i
4970 return
4980 ***********************
4990 *** schalter setzen ***
5000 ***********************
5010 fe(i,j,1)=a
5020 a0=b+41+4*i+160*j
5030 pokea0+41,160
5040 pokea0-b+f+41,fa
5050 a1=sc(a,0)and1
5060 a2=1
5070 gosub5180
5080 a1=sc(a,0)and2
5090 a2=42
5100 gosub5180
5110 a1=sc(a,0)and4
5120 a2=81
5130 gosub5180
5140 a1=sc(a,0)and8
5150 a2=40
5160 gosub5180
5170 return
5180 a3=32
5190 ifa1>0thena3=160
5200 pokea0+a2,a3
5210 pokea0+f-b+a2,fa
5220 ifa=10thenpokea0+f-b+a2,4
5230 return
5240 *************************
5250 *** setzen spielwerte ***
5260 *************************
5270 a0$=chr$(18)+chr$(159)+chr$(58)
5280 a1$=a0$:a3$=a0$
5290 fori=1toan
5300 a2$=chr$(159)
5310 ifi=lsthena2$=chr$(150)
5320 a$=chr$(58)+chr$(58)
5330 a4$=a$+right$(str$(i),1)
5340 a0$=a0$+a4$+a$+chr$(58)
5350 a$=chr$(32)+chr$(32)
5360 a$=a$+a$
5370 a$=right$(a$+str$(pp(i,1)),5)
5380 a1$=a1$+a2$+a$+chr$(159)+":"
5390 a$="joy"+str$(pp(i,0))
5400 ifpp(i,0)=3thena$="taste"
5410 a3$=a3$+a2$+a$+chr$(159)+":"
5420 next
5430 a$=chr$(18)+chr$(159)
5440 fori=1tolen(a0$)-2
5450 a$=a$+chr$(58)
5460 next
5470 pokeze,21:pokesp,0:syscu
5480 printa0$
5490 printa1$
5500 printa3$
5510 printa$;chr$(146);
5520 return
5530 *************************
5540 *** bonus und reserve ***
5550 *************************
5560 a$=chr$(117)
5570 a0$=chr$(98)
5580 a1$=chr$(106)
5590 fori=1to3
5600 a$=a$+chr$(99)
5610 a0$=a0$+chr$(32)
5620 a1$=a1$+chr$(99)
5630 next
5640 a$=a$+chr$(105)
5650 a0$=a0$+chr$(98)
5660 a1$=a1$+chr$(107)
5670 pokeze,21:pokesp,0:syscu
5680 printtab(28)chr$(30)"bonus";
5690 printspc(1)"bild"
5700 printtab(28)a$
5710 printtab(28)a0$;spc(1)bi
5720 printtab(28)a1$;
5730 gosub3860
5740 a$=chr$(32)+chr$(32)+chr$(32)
5750 a$=right$(a$+str$(pp(ls,1)),5)
5760 pokeze,22:pokesp,6*ls-5
5770 syscu
5780 printchr$(18)chr$(150)a$
5790 pokeze,0:pokesp,0:syscu
5800 fori=1to17
5810 printtab(37)chr$(32)+chr$(32)
5820 next
5830 ifpp(ls,2)<2then5920
5840 a$=chr$(117)+chr$(105)
5850 a0$=chr$(106)+chr$(107)
5860 pokeze,2:pokesp,0:syscu
5870 fori=2topp(ls,2)
5880 printtab(37)a$
5890 printtab(37)a0$
5900 print:print
5910 next
5920 return
5930 ***********************
5940 *** abfrage eingabe ***
5950 ***********************
5960 ei=0
5970 ifpeek(653)=5thenei=5:goto6210
5980 ifpeek(653)=6thenei=6:goto6210
5990 ifpeek(653)=3thenei=3:goto6210
6000 ifpp(ls,0)<3then6090
6010 geta$:ifa$=""then6210
6020 ei=asc(a$)
6030 ifei=133thenei=17 :rem hoch
6040 ifei=134thenei=145:rem runter
6050 ifei=135thenei=157:rem links
6060 ifei=136thenei=29 :rem rechts
6070 ifei=140thenei=5:rem rot dreh
6080 goto6210
6090 poke56322,224
6100 a1=peek(56320)
6110 ifpp(ls,0)=1thena1=peek(56321)
6120 if(a1and31)=0then6200
6130 if(a1and16)=0thenei=32
6140 if(a1and8)=0thenei=29
6150 if(a1and4)=0thenei=157
6160 if(a1and2)=0thenei=17
6170 if(a1and1)=0thenei=145
6180 if(ei=0)or(ei=32)then6200
6190 if(a1and16)=0thenei=5
6200 poke56322,255
6210 return
6220 *********************
6230 *** laden sprites ***
6240 *********************
6250 forj=0to7
6260 pokes+3*j,peek(n+j+85*8)
6270 pokes+3*j+1,peek(n+j+67*8)
6280 pokes+3*j+2,peek(n+j+73*8)
6290 pokes+3*j+24,peek(n+j+66*8)
6300 pokes+3*j+25,peek(n+j+86*8)
6310 pokes+3*j+26,peek(n+j+66*8)
6320 ifj>4then6360
6330 pokes+3*j+48,peek(n+j+74*8)
6340 pokes+3*j+49,peek(n+j+67*8)
6350 pokes+3*j+50,peek(n+j+75*8)
6360 next
6370 return
6380 *************
6390 *** titel ***
6400 *************
6410 poke2040,13
6420 sys12*4096
6430 gosub6710
6440 poke53280,0
6450 poke53281,0
6460 printchr$(147)chr$(156)
6470 a$="guenter kramer"
6480 pokeze,1:pokesp,13:syscu
6490 fori=1tolen(a$)
6500 printmid$(a$,i,1);
6510 gosub7270
6520 next
6530 pokeze,5:pokesp,0:syscu
6540 printtab(15)"stellt vor"
6550 pokev+23,1:pokev+29,1
6560 a$=""
6570 fori=1to14
6580 a$=a$+chr$(32)
6590 next
6600 fa=10:r=128
6610 forz1=7to9
6620 z=z1:gosub7570
6630 nextz1
6640 a$="schalter"
6650 z=8
6660 gosub7570
6670 return
6680 ********************
6690 *** anfangswerte ***
6700 ********************
6710 v=53248 :rem vic
6720 t=54272 :rem sid
6730 s=13*64 :rem sprite 1
6740 s2=14*64 :rem sprite 2
6750 n=51200 :rem zeichen
6760 f=55296 :rem farbram
6770 b=1024 :rem bildram
6780 cu=58640 :rem cursor
6790 ze=214 :rem cu-zeile
6800 sp=211 :rem cu-spalte
6810 pu=198 :rem tastatur
6820 dimsc(10,2) :rem schalter
6830 dimfe(8,4,1) :rem felder
6840 dimpp(4,2) :rem spieler-werte
6850 zl=781 :rem loesch ze
6860 lo=59903 :rem sys zl
6870 a=rnd(-ti) :rem zufall
6880 fori=1to4
6890 pp(i,2)=5
6900 next
6910 a$(0)=chr$(117)
6920 a$(1)=chr$(98)
6930 a$(2)=chr$(171)
6940 a$(3)=chr$(106)
6950 fori=1to9
6960 forj=1to3
6970 a$(0)=a$(0)+chr$(96)
6980 a$(1)=a$(1)+chr$(32)
6990 a$(2)=a$(2)+chr$(96)
7000 a$(3)=a$(3)+chr$(96)
7010 next
7020 ifi=9then7070
7030 a$(0)=a$(0)+chr$(178)
7040 a$(1)=a$(1)+chr$(98)
7050 a$(2)=a$(2)+chr$(123)
7060 a$(3)=a$(3)+chr$(177)
7070 next
7080 a$(0)=a$(0)+chr$(105)
7090 a$(1)=a$(1)+chr$(98)
7100 a$(2)=a$(2)+chr$(179)
7110 a$(3)=a$(3)+chr$(107)
7120 fori=0to10
7130 forj=0to2
7140 reada
7150 sc(i,j)=a
7160 nextj,i
7170 fori=s2tos2+62
7180 reada
7190 pokei,a
7200 next
7210 poke2041,14
7220 pokev+40,13
7230 return
7240 ************
7250 *** (NULL)ng ***
7260 ************
7270 gosub7380
7280 poket+1,8:poket,180:poket+5,12
7290 poket+8,15:poket+7,247
7300 poket+15,13:poket+14,10
7310 poket+12,12:poket+19,12
7320 poket+24,15:poket+4,23
7330 poket+11,23:poket+18,23
7340 return
7350 *********
7360 *** loeschen sid ***
7370 ********************
7380 fort0=0to24:poket+t0,0:nextt0
7390 return
7400 **************
7410 *** heulen ***
7420 **************
7430 gosub7380
7440 poket,t1-256*int(t1/256)
7450 poket+1,int(t1/256):poket+6,240
7460 poket+24,15:poket+4,33:return
7470 **************
7480 *** schuss ***
7490 **************
7500 gosub7380
7510 poket+5,9:poket+1,21
7520 poket+24,15:poket+4,129
7530 return
7540 **********************
7550 *** sprites laufen ***
7560 **********************
7570 y=z*8+50
7580 z=19+b+z*40-len(a$)/2
7590 fori=1tolen(a$)
7600 pokev+1,230
7610 pokev,0:t1=34*256
7620 a=asc(mid$(a$,i,1))
7630 ifa=32then7790
7640 ifa>63thena=a-64
7650 a0=168-(4*(len(a$)+1and254))+i*8
7660 forj=stos+62:pokej,0:nextj
7670 forj=0to7
7680 pokes+3*j+1,peek(n+j+a*8)
7690 nextj:t1=0:gosub7430
7700 pokev+21,1
7710 forj=0toa0step4
7720 pokev,jand255
7730 pokev+16,int(j/256)
7740 poket+1,jand255:nextj
7750 forj=230toystep-2
7760 pokev+1,j
7770 poket+1,j-34
7780 nextj:gosub7500
7790 pokez+i+f-b,fa
7800 pokez+i,a+r
7810 pokev+21,0
7820 nexti
7830 return
7840 ***********************
7850 *** lesen highscore ***
7860 ***********************
7870 open15,8,15
7880 open3,8,3,"0:h.s. schalter,u,r"
7890 input#15,a,a$,a0,a1
7900 ifa=0thenhs=1:goto8010
7910 close3:close15
7920 printchr$(147)a,a$,a0,a1
7930 print"wenn highscore vorhanden,"
7940 print"diskette einlegen und"
7950 print"'j' eingeben."
7960 print"sonst 'n' eingeben."
7970 geta$
7980 ifa$="j"then7870
7990 ifa$<>"n"then7970
8000 hs=0
8010 dimhs$(20),hs(20)
8020 a$=" "
8030 a=0
8040 fori=1to20
8050 ifhs=0then8070
8060 input#3,a$,a
8070 hs$(i)=a$
8080 hs(i)=a
8090 next
8100 close3:close15
8110 return
8120 **************************
8130 *** anzeigen highscore ***
8140 **************************
8150 printchr$(147)chr$(30)
8160 printspc(15)"ehrentafel"
8170 print:print
8180 a$=""
8190 fori=1to7
8200 a$=a$+chr$(32)
8210 next
8220 fori=1to10
8230 a0$=right$(a$+str$(hs(i)),7)
8240 a1$=right$(a$+str$(hs(i+10)),7)
8250 ifhs(i)=0thena0$=a$
8260 ifhs(i+10)=0thena1$=a$
8270 printspc(6)hs$(i)spc(1)a0$;
8280 printspc(1)chr$(122)chr$(122);
8290 printspc(1)hs$(i+10)spc(1)a1$
8300 next
8310 pokeze,22:pokesp,0:syscu
8320 print"weiter = return"
8330 poke198,0
8340 geta$
8350 ifa$<>chr$(13)then8340
8360 return
8370 ************************
8380 *** update highscore ***
8390 ************************
8400 pokeze,10:pokesp,13:syscu
8410 print"namen eingeben"
8420 print
8430 fori=1toan
8440 ifpp(i,1)<hs(20)then8660
8450 a0$=""
8460 poke198,0
8470 printspc(13)"spieler"i" = ";
8480 forj=1to4
8490 geta$
8500 ifa$=chr$(13)thenj=4:goto8550
8510 ifa$<chr$(35)then8490
8520 ifa$>chr$(90)then8490
8530 printa$;
8540 a0$=a0$+a$
8550 next
8560 forj=19to1step-1
8570 hs$(j+1)=hs$(j)
8580 hs(j+1)=hs(j)
8590 a=j+1
8600 ifpp(i,1)>hs(j)thena=j
8610 hs(a)=pp(i,1)
8620 hs$(a)=left$(a0$+" ",4)
8630 ifa<>jthenj=0
8640 next
8650 print
8660 next
8670 gosub8150
8680 printchr$(147)
8690 ifhs=0then8730
8700 open1,8,15
8710 print#1,"s:h.s. schalter"
8720 close1
8730 open15,8,15
8740 open3,8,3,"0:h.s. schalter,u,w"
8750 poke198,0
8760 input#15,a,a$,a0,a1
8770 ifa=0then8870
8780 close3:close15
8790 printchr$(147)a,a$,a0,a1
8800 print"wenn highscore gewuenscht,"
8810 print"diskette einlegen und"
8820 print"'j' eingeben."
8830 print"sonst 'n' eingeben."
8840 geta$:ifa$="n"then8920
8850 ifa$="j"then8700
8860 goto8840
8870 fori=1to20
8880 ifhs(i)=0thenhs$(i)=" "
8890 print#3,hs$(i);chr$(13);hs(i)
8900 next
8910 close3:close15
8920 return
8930 ***********************
8940 *** laden assembler ***
8950 ***********************
8960 printchr$(147)"laden assembler"
8970 fori=0to1
8980 reada
8990 s=s+a
9000 ad(i)=a
9010 next
9020 reada
9030 ifs=athen9060
9040 print"fehler in pruefsummen"
9050 end
9060 an=49152
9070 en=49648
9080 s=0
9090 forj=0to1
9100 a=an+256*j
9110 e=a+255
9120 ife>enthene=en
9130 fori=atoe
9140 reada
9150 d2=peek(63)+256*peek(64)
9160 ifd1=0thend1=d2
9170 if(a<0)or(a>255)then9240
9180 ifa-int(a)<>0then9240
9190 s=s+a
9200 pokei,a:next
9210 ifs<>ad(j)then9270
9220 print"teil"j"in ordnung"
9230 goto9290
9240 print"datafehler in zeile"s
9250 print"falscher wert ="a
9260 end
9270 print"datafehler zeilen"d1"-"d2
9280 end
9290 d1=0
9300 s=0
9310 next
9320 return
9330 *************************
9340 *** datas pruefsummen ***
9350 *************************
9360 data36225,32305,68530
9370 *******************************
9380 *** datas maschinenprogramm ***
9390 *******************************
9400 data76,6,192,76,50,192,120,169,51,133,1,169,208,160,0,133,96,132,95,132
9410 data90,132,88,169,216,133,91,169,208,133,89,32,191,163,169,55,133,1,169
9420 data192,141,18,3,169,3,141,17,3,88,96,165,20,72,165,21,72,32,247,183
9430 data166,20,134,2,169,4,133,252,169,83,133,251,160,0,177,251,201,160,240
9440 data16,200,177,251,41,127,145,251,200,200,200,192,36,208,236,240,15,200
9450 data200,177,251,136,201,160,208,232,177,251,9,128,208,230,165,251,24
9460 data105,160,133,251,165,252,105,0,133,252,201,7,208,200,169,4,133,252
9470 data169,122,133,251,160,0,177,251,201,160,240,22,152,24,105,40,168,177
9480 data251,41,127,145,251,152,56,233,36,168,201,36,208,230,240,23,152,24
9490 data105,80,168,177,251,170,152,56,233,40,168,224,160,208,222,177,251
9500 data9,128,208,220,165,251,24,105,160,133,251,165,252,105,0,133,252,201
9510 data7,208,186,165,2,201,1,208,58,198,2,169,216,133,252,169,41,133,251
9520 data162,0,160,0,169,2,145,251,200,192,3,208,249,165,251,24,105,4,133
9530 data251,165,252,105,0,133,252,232,224,30,208,227,165,251,24,105,40,133
9540 data251,165,252,105,0,133,252,201,219,208,208,162,0,134,2,173,81,4,16
9550 data63,169,41,133,251,169,216,133,252,32,94,193,240,32,162,0,165,251
9560 data24,105,4,133,251,165,252,105,0,133,252,201,219,16,27,160,0,177,251
9570 data41,15,201,4,240,3,32,118,193,232,224,10,208,221,162,0,165,251,24
9580 data105,124,208,217,165,2,208,184,104,133,21,104,133,20,76,162,179,160
9590 data0,169,4,145,251,200,192,3,208,2,160,40,192,43,208,2,160,80,192,83
9600 data208,237,96,165,251,56,233,79,133,253,165,252,233,0,133,254,160,0
9610 data177,253,41,15,201,4,208,14,165,254,41,7,9,4,133,254,160,40,177,253
9620 data48,70,165,253,24,105,117,133,253,165,254,105,0,41,251,9,216,133,254
9630 data173,159,193,201,117,208,12,169,4,141,159,193,169,1,141,150,193,208
9640 data196,201,4,208,14,169,79,141,159,193,169,1,141,150,193,160,2,208,180
9650 data201,79,208,17,169,0,141,150,193,238,159,193,160,40,208,164,230,2
9660 data32,94,193,169,40,141,150,193,169,117,141,159,193,96
9670 ************************
9680 *** datas fuer basic ***
9690 ************************
9700 data10,1,1,5,0,0
9710 data9,3,4,3,5,2
9720 data12,2,5,6,4,3
9730 data11,7,9,7,8,6
9740 data14,9,7,13,6,8
9750 data0,10,10
9760 data0,255,0,1,255,128,1,255,128
9770 data1,255,128,0,255,0,28,126,56
9780 data62,60,124,63,24,252
9790 data63,153,252,63,255,252
9800 data63,255,252,63,153,252
9810 data63,24,252,62,60,124,28,126,56
9820 data0,255,0,1,255,128,1,255,128
9830 data1,255,128,0,255,0,0,0,0
9840 *** schalter ************c64
9850 *** ***
9860 *** 38911 bytes speicher ***
9870 *** 18347 bytes programm ***
9880 *** 357 bytes variable ***
9890 *** 759 bytes arrays ***
9900 *** 12485 bytes strings ***
9910 *** 6963 bytes frei ***
9920 ****************************