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$(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)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 ****************************