100 REM KRIEG DER KERNE 101 REM 102 REM NACH SPEKTRUM DER WISSENSCHAFT 103 REM 8/84 104 REM 105 REM MARTIN ROGGE, MOELLENHOLT 24 106 REM 2300 KIEL 1 107 REM 11.06.87 108 : 109 GOTO1000 110 : 150 A$="" 160 LL=5:GOTO200 170 LL=16 200 PRINTA$;"[164][157]"; 210 GETB$:IFB$=""GOTO210 215 B=ASC(B$):IFB>95ORB=34GOTO210 220 IFB=13THENPRINT" ":RETURN 230 IFB<>20GOTO260 240 IFLEN(A$)<1GOTO210 250 A$=LEFT$(A$,LEN(A$)-1):PRINT" [157][157][164][157]";:GOTO210 260 IFB<32GOTO210 270 IFLEN(A$)"6"GOTO1570 1580 ONVAL(A$)GOTO8000,6000,7000,2000,9500 1590 : 1600 PRINT"[147]":END 1610 : 2000 PRINT"[147]KAEMPFER A: "N$(0) 2010 K=0:GOSUB3000:IFFGOTO2340 2100 PRINT"KAEMPFER B: "N$(1) 2110 K=1:GOSUB3000:IFFGOTO2340 2120 PRINT"WIEVIELE ZUEGE PRO KAMPF ? ";:A$="10000":GOSUB160:Z=VAL(A$) 2130 POKEBA+13,Z/256:POKEBA+12,Z-256*PEEK(BA+13) 2140 PRINT"WIEVIELE KAEMPFE ? ";:A$="1":GOSUB160:Y=VAL(A$) 2150 POKEBA+8,L(0):POKEBA+9,L(1):D=999-L(0)-L(1) 2160 W(0)=0:W(1)=0:W(2)=0 2170 FORI=1TOY:SYS26624 2175 FORJ=0TO7:POKEBA+J,0:NEXT 2180 X=INT(D*RND(1))+L(0)+1:POKE38913,X/256:POKE38912,X-256*PEEK(38913) 2190 A=USR(0):W(A)=W(A)+1 2200 NEXT 2205 POKE53280,11:GOSUB5540:POKE53280,0 2300 PRINT"[147]ERGEBNIS:" 2310 PRINT""N$(0):PRINT"[145]"SPC(18)W(1) 2320 PRINT""N$(1):PRINT"[145]"SPC(18)W(2) 2330 PRINT"UNENTSCHIEDEN "W(0) 2340 PRINT"":GOSUB5530:GOTO1500 2350 : 3000 IFL(K)<0THENPRINT"COMPILATION ERROR: KEIN QUELLCODE.":F=-1:RETURN 3005 F=0:FORI=0TOL(K) 3010 A$=F$(K,I):GOSUB4000:IFLEN(A$)<4GOTO3900 3030 B$=LEFT$(A$,3) 3040 FORJ=0TO10:IFB$=B$(J)THENX=J:J=12 3050 NEXT:IFJ<12THENF=-1:GOTO3900 3060 A$=MID$(A$,4):GOSUB4000 3070 ONXGOTO3400,3400,3400,3500,3600,3600,3800,3800,4200,3500 3080 GOSUB4700:IFFGOTO3900 3090 ZQ%=VO*ZA:ZZ%=0:AQ=0:AZ=0 3100 B(0)=XOR48ORK*64OR((X>0)AND128) 3110 B(1)=ZQ%-256*INT(ZQ%/256) 3120 B(2)=((ZQ%/256)AND15)ORAQ*64 3130 B(3)=ZZ%-256*INT(ZZ%/256) 3140 B(4)=((ZZ%/256)AND15)ORAZ*64 3150 FORJ=0TO4:POKEF(K)+256*J+I,B(J):NEXT 3160 NEXT:PRINT"COMPILATION COMPLETE, NO ERROR.":RETURN 3170 : 3400 GOSUB4600:IFFGOTO3900 3405 AQ=AA:ZQ%=VO*ZA 3410 GOSUB4800:IFFGOTO3900 3415 AZ=AA:ZZ%=VO*ZA:GOTO3100 3420 : 3500 GOSUB4800:IFFGOTO3900 3505 ZQ%=VO*ZA:ZZ%=0:AQ=AA:AZ=0:GOTO3100 3510 : 3600 GOSUB4800:IFFGOTO3900 3605 AQ=AA:ZQ%=VO*ZA 3610 GOSUB4600:IFFGOTO3900 3615 AZ=AA:ZZ%=VO*ZA:GOTO3100 3620 : 3800 GOSUB4800:IFFGOTO3900 3805 AQ=AA:ZQ%=VO*ZA 3810 GOSUB4800:IFFGOTO3900 3815 AZ=AA:ZZ%=VO*ZA:GOTO3100 3820 : 3900 X=I:I=L(K):NEXT:PRINT"COMPILATION ERROR IN LINE"X:F=-1:RETURN 3910 : 4000 IFLEFT$(A$,1)=" "THENA$=MID$(A$,2):GOTO4000 4010 RETURN 4020 : 4200 GOSUB4600:IFFGOTO3900 4205 AQ=AA:ZQ%=VO*ZA 4210 GOSUB4600:IFFGOTO3900 4215 AZ=AA:ZZ%=VO*ZA:GOTO3100 4220 : 4500 B$=LEFT$(A$,1):A$=MID$(A$,2) 4505 IFB$=" "ORB$=""THENM=-2:RETURN 4530 IFB$<"0"ORB$>"9"THENM=-1:RETURN 4540 M=VAL(B$):RETURN 4550 : 4600 AA=1:B$=LEFT$(A$,1):IFB$="#"THENAA=0:A$=MID$(A$,2) 4610 IFB$="@"THENAA=2:A$=MID$(A$,2) 4620 : 4700 VO=1:B$=LEFT$(A$,1):IFB$="-"THENVO=-1 4710 IFB$="+"ORB$="-"THENA$=MID$(A$,2) 4720 GOSUB4500:IFM<0ORM>9THENF=-1:RETURN 4730 ZA=M 4740 GOSUB4500:IFM=-2GOTO4770 4750 IFM<0ORM>9THENF=-1:RETURN 4760 ZA=10*ZA+M:GOTO4740 4770 IFZA>999THENF=-1 4780 RETURN 4790 : 4800 GOSUB4600:IFAA=0THENF=-1 4810 RETURN 4820 : 5000 PRINT"[147]KAEMPFER A ODER B ? "; 5010 GETA$:IFA$="A"THENK=0:GOTO5040 5020 IFA$<>"B"GOTO5010 5030 K=1 5040 PRINTA$:RETURN 5050 : 5500 F=0:INPUT#1,V$,W$,X$,Y$:IFVAL(V$)<9THENRETURN 5510 PRINT"DISK-ERROR:":F=-1 5520 PRINTV$":"W$":"X$":"Y$ 5530 PRINT" DRUECKEN" 5540 GETA$:IFA$<>CHR$(13)GOTO5540 5550 RETURN 5560 : 6000 GOSUB5000 :REM LADEN 6010 PRINT"NAME: ";:A$="":GOSUB170:N$(K)=A$ 6020 OPEN1,8,15:PRINT#1,"I0":GOSUB5500:IFFGOTO6900 6030 OPEN2,8,2,N$(K):GOSUB5500:IFFGOTO6900 6040 L(K)=-1 6050 L(K)=L(K)+1:INPUT#2,F$(K,L(K)):IFST=0GOTO6050 6060 GOSUB5500 6900 CLOSE2:CLOSE1:GOTO1500 6910 : 7000 GOSUB5000 :REM SPEICHERN 7020 OPEN1,8,15:PRINT#1,"I0":GOSUB5500:IFFGOTO6900 7025 PRINT"NAME: ";:A$=N$(K):GOSUB170:N$(K)=A$ 7030 OPEN2,8,2,N$(K)+",S,W":GOSUB5500:IFFGOTO6900 7035 PRINT""N$(K)" WIRD GESPEICHERT." 7040 FORI=0TOL(K) 7050 PRINT#2,CHR$(34)F$(K,I):NEXT 7060 GOTO6060 7070 : 8000 GOSUB5000:EZ=0 8100 PRINT"[147]NAME: "N$(K):PRINT 8110 FORI=EZTOEZ+9:IFI>L(K)THENF$(K,I)="" 8120 PRINT""RIGHT$(" "+STR$(I),4)" [146] "F$(K,I) 8130 NEXT 8140 PRINT"S[146]CHREIBEN" 8150 PRINT"L[146]OESCHEN" 8160 PRINT"A[146]ENDERN" 8170 PRINT"D[146]RUCKEN" 8180 PRINT"U[146]MBENENNEN" 8190 PRINT"+/-" 8200 PRINT"E[146]NDE" 8210 GETA$:FORI=1TO8:IFA$=MID$("+-ESLADU",I,1)THENA=I:I=9 8220 NEXT:IFI<10GOTO8210 8230 ONAGOTO8300,8400,1500,8600,8800,9000,9200,9400 8240 : 8300 IFEZ<231THENEZ=EZ+10:GOTO8100 8310 GOTO8210 8320 : 8400 IFEZ>9THENEZ=EZ-10:GOTO8100 8410 GOTO8210 8420 : 8600 PRINT"SCHREIBEN AB ZEILE: ";:GOSUB150:AA=VAL(A$) 8610 IFAA<0ORAA>L(K)+1GOTO8100 8620 PRINT"[147]ABBRUCH DURCH EINE LEERZEILE.":LL=30 8630 IFL(K)>248GOTO8100 8635 PRINT""RIGHT$(" "+STR$(AA),4)" [146] "; 8640 A$="":GOSUB200:IFA$=""GOTO8100 8650 IFAA>L(K)THENF$(K,AA)=A$:AA=AA+1:L(K)=L(K)+1:GOTO8630 8660 FORI=L(K)TOAASTEP-1:F$(K,I+1)=F$(K,I):NEXT:L(K)=L(K)+1 8670 F$(K,AA)=A$:AA=AA+1:GOTO8630 8680 : 8800 PRINT"LOESCHEN VON ZEILE: ";:GOSUB150:AA=VAL(A$) 8810 PRINT" BIS ZEILE: ";:GOSUB150:BB=VAL(A$) 8820 IFBBL(K)GOTO8100 8830 IFBB=>L(K)THENL(K)=AA-1:GOTO8100 8840 D=BB+1-AA:FORI=BB+1TOL(K):F$(K,I-D)=F$(K,I):NEXT 8850 L(K)=L(K)-D:GOTO8100 8860 : 9000 PRINT"AENDERN VON ZEILE: ";:GOSUB150:AA=VAL(A$) 9010 IFAAEZ+9ORAA>L(K)GOTO8100 9020 PRINT"" 9030 FORI=0TOAA-EZ:PRINT:NEXT 9040 PRINT"";:A$=F$(K,AA):LL=30 9050 GOSUB200:F$(K,AA)=A$:GOTO8100 9060 : 9200 PRINT"[147]":OPEN4,4,0 9205 PRINT#4,"NAME: "N$(K):PRINT#4 9210 FORI=0TOL(K) 9220 PRINT#4,RIGHT$(" "+STR$(I),4)" "F$(K,I) 9230 NEXT 9240 CLOSE4:GOTO8100 9250 : 9400 PRINT"NAME: ";:A$=N$(K):GOSUB170:N$(K)=A$:GOTO8100 9410 : 9500 PRINT"[147]ABBRUCH DURCH _" 9510 FORI=0TO999:PRINT""RIGHT$(" "+STR$(I),4)" [146] "; 9515 ZA=PEEK(KF+5*I) 9520 IFZA=0GOTO9800 9525 PRINT"";:IF(ZAAND64)THENPRINT""; 9530 ZA=ZAAND15:PRINTB$(ZA)" "; 9537 AQ=INT(PEEK(KF+5*I+2)/64):Q=256*(PEEK(KF+5*I+2)AND15)+PEEK(KF+5*I+1) 9538 IFQ>2047THENQ=Q-4096 9539 A$="":IFZA=0GOTO9555 9540 IFAQ=0THENA$="#" 9550 IFAQ=2THENA$="@" 9555 L=2:IFQ<0THENL=1 9560 PRINTA$MID$(STR$(Q),L)" "; 9570 IFZA=0ORZA=4ORZA=10GOTO9800 9575 AZ=INT(PEEK(KF+5*I+4)/64):Z=256*(PEEK(KF+5*I+4)AND15)+PEEK(KF+5*I+3) 9577 IFZ>2047THENZ=Z-4096 9580 A$="":IFAZ=0THENA$="#" 9590 IFAZ=2THENA$="@" 9595 L=2:IFZ<0THENL=1 9600 PRINTA$MID$(STR$(Z),L)" "; 9800 PRINT"[158]":GETA$:IFA$="_"THENI=999 9810 NEXT:GOSUB5530:GOTO1500