Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
5 CLEAR 500:GOSUB 15000
9 GOSUB 6000:GOTO 4060
10 PRINT AT(KZ,KS);"":PRINT AT(KZ+1,KS);" ":PRINT AT(KZ+2,KS-1);""
20 PRINT AT(KZ+3,KS-1);"":PRINT AT(KZ+4,KS-1);""
30 PRINT AT(KZ+5,KS-1);"":KQ=0:RETURN
40 PRINT AT(KZ+4,KS-1);" ":PRINT AT(KZ+5,KS-1);" "
50 KQ=ME:RETURN
60 PRINT AT(KZ,KS);" ":PRINT AT(KZ+1,KS);" ":PRINT AT(KZ+2,KS-1);" "
70 PRINT AT(KZ+3,KS-1);" ":PRINT AT(KZ+4,KS);"":PRINT AT(KZ+5,KS);" "
80 P1=200:KQ=3:AZ=KZ+2:AS=KS+4:RETURN
90 PRINT AT(KZ+3,KS);"":PRINT AT(KZ+4,KS-1);" ":PRINT AT(KZ+5,KS-1);" "
100 P1=200:KQ=4:AS=KS+4:AZ=KZ+3:RETURN
110 PRINT AT(KZ,KS);" ":PRINT AT(KZ+1,KS);" ":PRINT AT(KZ+2,KS-1);" "
120 PRINT AT(KZ+3,KS-1);" ":PRINT AT(KZ+4,KS-1);" ":P1=600
130 PRINT AT(KZ+5,KS-1);" ":KQ=5:AS=KS+5:AZ=KZ+5:RETURN
140 PRINT AT(KZ,KS+3);"":P1=400
150 PRINT AT(KZ+1,KS);"":PRINT AT(KZ+2,KS-1);" "
160 PRINT AT(KZ+3,KS-1);" ":PRINT AT(KZ+4,KS-1);" "
170 PRINT AT(KZ+5,KS-1);" ":KQ=6:AS=KS+4:AZ=KZ:RETURN
180 PRINT AT(KZ,KS-2);" ":PRINT AT(KZ+1,KS-1);"":PRINT AT(KZ+2,KS);" "
190 PRINT AT(KZ+4,KS);"":PRINT AT(KZ+5,KS);"":KQ=7:AS=KS+3:AZ=KZ:P1=300
200 RETURN
210 PRINT AT(KZ,KS);" ":PRINT AT(KZ+1,KS);" ":P1=800
220 PRINT AT(KZ+2,KS-1);" ":PRINT AT(KZ+3,KS-1);" "
230 PRINT AT(KZ+4,KS-1);"":PRINT AT(KZ+5,KS-3);"":KQ=8:AS=KS+3
240 AZ=KZ+3:RETURN
250 WINDOW KZ,KZ+5,KS-1,KS+2:CLS:WINDOW
260 IF KQ=1 THEN KS=KS-1:ELSE KS=KS+1
261 IF KS>RS-2 THEN KS=RS-2
262 IF KS<3 THEN KS=3
263 IF KS>33 THEN KS=33
270 RETURN
280 PRINT AT(KZ,KS+1);" ":PRINT AT(KZ+1,KS+1);" ":PRINT AT(KZ+2,KS);" "
290 PRINT AT(KZ+3,KS);" ":PRINT AT(KZ+5,KS+1);" ":RETURN
300 PRINT AT(KZ+3,KS);" ":RETURN
310 PRINT AT(KZ+3,KS);" ":PRINT AT(KZ+4,KS);" ":PRINT AT(KZ+5,KS);" "
320 RETURN
330 PRINT AT(KZ,KS+3);" ":PRINT AT(KZ+3,KS);" ":PRINT AT(KZ+4,KS+2);" "
340 RETURN
350 PRINT AT(KZ,KS-2);" ":PRINT AT(KZ+1,KS-1);" "
360 RETURN
370 PRINT AT(KZ+3,KS);" ":PRINT AT(KZ+5,KS-3);" ":RETURN
400 PRINT AT(RZ,RS);"":PRINT AT(RZ+1,RS-2);" ":PRINT AT(RZ+2,RS-1);""
410 PRINT AT(RZ+3,RS+1);"":PRINT AT(RZ+4,RS);"":PRINT AT(RZ+5,RS);""
420 RQ=0:RETURN
430 PRINT AT(RZ+4,RS);" ":PRINT AT(RZ+5,RS);" "
440 RQ=RE:RETURN
450 PRINT AT(RZ,RS-1);" ":PRINT AT(RZ+1,RS-3);" ":PRINT AT(RZ+2,RS-3);"
460 PRINT AT(RZ+3,RS);" ":PRINT AT(RZ+4,RS);"":PRINT AT(RZ+5,RS-1);" "
470 PRINT AT(RZ+2,RS+1);" ":RQ=3:ZZ=RZ+2:ZS=RS-4:P2=200:RETURN
480 PRINT AT(RZ+3,RS-3);"":PRINT AT(RZ+4,RS);" ":PRINT AT(RZ+5,RS);" "
490 P2=200:RQ=4:ZZ=RZ+3:ZS=RS-4:RETURN
500 PRINT AT(RZ,RS);" ":PRINT AT(RZ+1,RS-2);" ":P2=600
510 PRINT AT(RZ+2,RS-1);" ":PRINT AT(RZ+3,RS-1);" "
520 PRINT AT(RZ+4,RS-1);" ":PRINT AT(RZ+5,RS-4);" "
530 RQ=5:ZZ=RZ+5:ZS=RS-5:RETURN
540 PRINT AT(RZ,RS-3);"":PRINT AT(RZ+1,RS-2);"":PRINT AT(RZ+2,RS-1);" "
550 PRINT AT(RZ+3,RS-3);" ":PRINT AT(RZ+4,RS-3);" ":P2=400
560 PRINT AT(RZ+5,RS);" ":RQ=6:ZZ=RZ:ZS=RS-4:RETURN
570 PRINT AT(RZ,RS);" ":PRINT AT(RZ+1,RS-2);"":P2=300
580 PRINT AT(RZ+2,RS-1);" ":PRINT AT(RZ+4,RS);"":PRINT AT(RZ+5,RS);""
590 RQ=7:ZZ=RZ:ZS=RS-3:RETURN
600 PRINT AT(RZ,RS);" ":PRINT AT(RZ+1,RS-2);" ":PRINT AT(RZ+2,RS-1);" "
610 PRINT AT(RZ+3,RS-2);" ":PRINT AT(RZ+4,RS);"":P2=800
620 PRINT AT(RZ+5,RS);"":RQ=8:ZZ=RZ+3:ZS=RS-3:RETURN
630 WINDOW RZ,RZ+5,RS-2,RS+1:CLS:WINDOW:IF RE=1 THEN RS=RS-1:ELSE RS=RS+1
631 IF RS<KS+2 THEN RS=KS+2
632 IF RS<7 THEN RS=7
633 IF RS>35 THEN RS=35
650 RETURN
660 PRINT AT(RZ,RS-1);" ":PRINT AT(RZ+2,RS-3);" ":PRINT AT(RZ+3,RS);" "
670 PRINT AT(RZ+5,RS-1);" ":RETURN
680 PRINT AT(RZ+3,RS-3);" ":RETURN
690 PRINT AT(RZ+3,RS-1);" ":PRINT AT(RZ+4,RS-1);" ":PRINT AT(RZ+5,RS-4);" "
700 RETURN
710 PRINT AT(RZ,RS-3);" ":PRINT AT(RZ+3,RS-3);" "
720 PRINT AT(RZ+4,RS-3);" ":RETURN
730 PRINT AT(RZ,RS+2);" ":PRINT AT(RZ+1,RS+1);" ":RETURN
740 PRINT AT(RZ+3,RS-2);" ":PRINT AT(RZ+5,RS+2);" ":RETURN
800 IF AZ*AS=0 THEN 850:ELSE PE=PEEK(AZ*40+AS-5120)
810 IF PE=140 OR PE=192 OR PE=161 THEN BEEP:PA=PA+P1:GOSUB 900
820 IF PE=159 AND AZ<>16 THEN BEEP:PA=PA+P1:GOSUB 900
840 PRINT INK 4;AT(4,5);"POINTS-A",PA
850 IF ZZ*ZS=0 THEN 890:ELSE PE=PEEK(ZZ*40+ZS-5120)
860 IF PE=140 OR PE=159 OR PE=161 THEN BEEP:PB=PB+P2:GOSUB 950
870 IF PE=192 AND ZZ<>16 THEN BEEP:PB=PB+P2:GOSUB 950
880 PRINT INK 3;AT(4,25);"POINTS-B",PB
890 IF WA>=3 OR WB>=3 THEN GOSUB 7000
895 RETURN
900 IF PE=140 OR PE=161 THEN A=2:ELSE A=1
905 IF A=1 THEN PRINT INK 2;AT(1,14);"HALF POINT"
910 IF A=2 THEN PRINT INK 2;AT(1,14);"FULL POINT"
915 WA=WA+A/2:PRINT INK 4;AT(1,2);STRING$(2*WA,"*")
925 PAUSE 5:PRINT AT(1,14);" ":RETURN
950 IF PE=140 OR PE=161 THEN A=2:ELSE A=1
955 IF A=1 THEN PRINT INK 2;AT(1,14);"HALF POINT"
960 IF A=2 THEN PRINT INK 2;AT(1,14);"FULL POINT"
965 WB=WB+A/2:PRINT INK 3;AT(1,33);STRING$(2*WB,"+")
975 PAUSE 5:PRINT AT(1,14);" ":RETURN
1000 PRINT AT(KZ-2,KS);"":PRINT AT(KZ-1,KS);" ":PRINT AT(KZ,KS);"":P1=800
1010 PRINT AT(KZ+1,KS-1);"":PRINT AT(KZ+2,KS-1);" "
1020 WINDOW KZ+3,KZ+5,KS-1,KS+1:CLS:WINDOW
1030 KQ=9:AZ=KZ+2:AS=KA+5:RETURN
1040 PRINT AT(KZ-1,KS);"":PRINT AT(KZ,KS);"":PRINT AT(KZ+1,KS-1);" "
1050 PRINT AT(KZ+2,KS-1);" ":PRINT AT(KZ+3,KS-1);"":P1=800
1060 PRINT AT(KZ+4,KS-1);" ":PRINT AT(KZ+5,KS-1);" "
1070 KQ=10:AZ=KZ+2:AS=KS+5:RETURN
1080 WINDOW KZ,KZ+5,KS-1,KS+2:CLS:P1=1000:WINDOW
1090 PRINT AT(KZ+4,KS);" ":PRINT AT(KZ+5,KS);" "
1100 KQ=11:AZ=KZ+5:AS=KS+7:RETURN
1110 WINDOW KZ,KZ+5,KS-1,KS+2:CLS:P1=600:WINDOW
1120 PRINT AT(KZ-4,KS);" ":PRINT AT(KZ-3,KS);" ":PRINT AT(KZ-2,KS);" "
1130 PRINT AT(KZ-1,KS);" ":PRINT AT(KZ,KS);" "
1140 KQ=12:AZ=KZ:AS=KS+5:RETURN
1150 WINDOW KZ-2,KZ+2,KS-1,KS+4:CLS:WINDOW:KQ=1:GOTO 250
1160 WINDOW KZ-1,KZ+3,KS-1,KS+4:CLS:WINDOW:KQ=2:GOTO 250
1170 WINDOW KZ+4,KZ+5,KS,KS+6:CLS:WINDOW:RETURN
1180 WINDOW KZ-4,KZ,KS,KS+4:CLS:WINDOW:RETURN
1200 PRINT AT(RZ-2,RS);"":PRINT AT(RZ-1,RS-2);" ":P2=800
1210 PRINT AT(RZ,RS-1);"":PRINT AT(RZ+1,RS-3);""
1220 PRINT AT(RZ+2,RS-4);" ":WINDOW RZ+3,RZ+5,RS-1,RS+1:CLS:WINDOW
1230 RQ=9:ZZ=RZ+2:ZS=RS-5:RETURN
1240 PRINT AT(RZ-1,RS-1);"":PRINT AT(RZ,RS-1);"":P2=800
1250 PRINT AT(RZ+1,RS-2);" ":PRINT AT(RZ+2,RS-4);" "
1260 PRINT AT(RZ+3,RS-1);"":PRINT AT(RZ+4,RS);" ":PRINT AT(RZ+5,RS);" "
1265 RQ=10:ZZ=RZ+2:ZS=RS-5:RETURN
1270 WINDOW RZ,RZ+5,RS-2,RS+1:CLS:P2=1000:WINDOW
1280 PRINT AT(RZ+4,RS-4);" ":PRINT AT(RZ+5,RS-6);" "
1290 RQ=11:ZZ=RZ+5:ZS=RS-7:RETURN
1300 WINDOW RZ,RZ+5,RS-2,RS+1:CLS:P2=600:WINDOW
1310 PRINT AT(RZ-4,RS-2);" ":PRINT AT(RZ-3,RS-1);""
1320 PRINT AT(RZ-2,RS-1);"":PRINT AT(RZ-1,RS-3);""
1330 PRINT AT(RZ,RS-4);" ":RQ=12:ZZ=RZ:ZS=RS-5:RETURN
1340 WINDOW RZ-2,RZ+2,RS-4,RS+1:CLS:RE=1:WINDOW:GOTO 630
1350 WINDOW RZ-1,RZ+3,RS-4,RS+1:CLS:WINDOW:RE=2:GOTO 630
1360 WINDOW RZ+4,RZ+5,RS-6,RS:CLS:WINDOW:RETURN
1370 WINDOW RZ-4,RZ,RS-4,RS:CLS:WINDOW:RETURN
4000 IF KQ<>0 THEN 5020
4010 GOSUB 10:FOR I=1 TO ZN(SN):ME=JOYST$(1):IF ME<1 OR ME>24 THEN NEXT
4025 IF ME=LE AND ME>18 THEN 4050
4028 IF ME=LE AND ME>2 THEN ME=0
4030 ON ME GOSUB 40,40,200,90,210,110,200,60,180,140
4040 IF ME>16 THEN ON ME-16 GOSUB 1000,1040,200,1080,200,200,200,1110
4050 GOSUB 800:LE=ME:IF WW<0 THEN GOTO 7500
4060 IF RQ<>0 THEN 5000
4065 GOSUB 400:IF RS-KS>7 THEN RE=INT(RND(1)*2+1):GOSUB 430:GOTO 4000
4070 RE=INT(RND(1)*RN(SN)+1)
4080 ON SN GOSUB 4120,4120,4120,4120,4150,4150,4150,4150,4230,4230,4230,4230
4100 GOTO 4000
4120 ON RE GOSUB 430,430,450,480,500,540,570,600,1200,1240,1270,1300
4130 RETURN
4150 ON RS-KS GOTO 4160,4170,4180,4190,4200,4210,4220
4160 ON RE GOSUB 430,430,570,570,570:RETURN
4170 ON RE GOSUB 430,430,600,600,540,540:RETURN
4180 ON RE GOSUB 430,430,480,570,480,1300:RETURN
4190 ON RE GOSUB 430,430,450,540,570,500:RETURN
4200 ON RE GOSUB 430,1200,1240,540,1300,500:RETURN
4210 ON RE GOSUB 430,430,1300,1300,1270,1270:RETURN
4220 ON RE GOSUB 430,430,1270,1270,1270:RETURN
4230 IF KQ>0 THEN 4150
4240 ON RE GOSUB 540,540,1300,1300,570,570:RETURN
5000 ON RQ GOSUB 630,630,660,680,690,710,730,740,1340,1350,1360,1370
5010 RQ=0:ZZ=0:ZS=0:GOSUB 400:GOTO 4000
5020 ON KQ GOSUB 250,250,280,300,310,330,350,370,1150,1160,1170,1180
5030 KQ=0:AS=0:AZ=0:GOSUB 10:GOSUB 800:IF WW<0 THEN GOTO 7500
5040 GOTO 4060
6000 KZ=14:KS=15:WINDOW:CLS:PA=0:PB=0:WA=0:WB=0:PW=0
6010 SN=1:RZ=14:RS=25: GOSUB 10:GOSUB 400:PRINT INK 4;AT(22,1);" 1. DAN!"
6020 DIM ZN(12),RN(12)
6030 DATA 100,50,20,5,80,40,20,10,60,30,15,5
6040 DATA 18,15,13,13,9,8,7,6,9,8,7,6
6050 RESTORE 6030:FOR I=1 TO 12:READ ZN(I):NEXT
6060 FOR I=1 TO 12:READ RN(I):NEXT
6070 RETURN
7000 WW=WA-WB:IF WW<0 THEN RETURN
7005 IF WW>1 THEN SN=SN+1
7010 WINDOW:WW=0:KS=15:RS=25:CLS:GOSUB 10:GOSUB 400:WA=0:WB=0:ZS=0:AS=0
7015 IF SN>12 THEN WW=-1:RETURN
7020 PW=PW+PA-PB+SN*100:PA=0:PB=0
7030 PRINT INK 4;AT(23,1);"STAND AT:",PW:PRINT INK 4;AT(22,1);STR$(SN),". DAN!"
7040 RETURN
7500 PW=PW+PA-PB:PA=0:PB=0:IF PW<0 THEN PW=0
7510 WINDOW:CLS
7520 PRINT:PRINT:PRINT
7530 PRINT "Sie erreichten Spielniveau";SN;"."
7540 PRINT "Ihre Punktzahl:";PW
7550 IF PW<=0 THEN 7620
7560 PRINT "Tragen Sie sich in die Punktetabelle"
7570 INPUT "ein--->";PW$
7580 FOR I=1 TO 9:IF PW<=PW(I)THEN NEXT
7590 IF I>9 THEN 7620
7600 FOR J=9 TO I+1 STEP-1:PW(J)=PW(J-1):PW$(J)=PW$(J-1):NEXT
7610 PW(I)=PW:PW$(I)=PW$
7620 FOR I=1 TO 9
7630 PRINT AT(I+7,1);I,".)"
7640 PRINT INK 4;AT(I+7,8);PW$(I)
7650 PRINT INK 7;AT(I+7,30);PW(I)
7660 NEXT:PRINT INK 2;AT(23,30);">ENTER<"
7670 IF PEEK(36)<>13 THEN 7670
7680 WINDOW:CLS:KS=15:RS=25:GOSUB 10:GOSUB 400:ZZ=0:ZS=0:AZ=0:AS=0
7685 PRINT INK 4;AT(22,1);" 1. DAN!"
7690 WW=0:PA=0:PB=0:WA=0:WB=0:PW=0:PW$="":SN=1:GOTO 4060
8000 WINDOW:CLS:END
15000 PAPER 1:BORDER 2:WINDOW:CLS:OUT 136,0:CLS
15010 KZ=6:RZ=6:KS=15:RS=25
15020 DATA "Schritt zurueck","Schritt vor","Stich zur Mitte","Fussschlag"
15030 DATA "Fussstich","Sprung mit Schlag zum Kopf","Kopfstich und Ausweichen"
15040 DATA "Tiefstich zur Mitte","Sprung zurueck mit Fusstich"
15050 DATA "Sprung vor mit Fusstich","Fallschlag","Sprung zum Kopf"
15060 DIM A$(12),B$(12):RESTORE 15020
15070 FOR I=1 TO 12:READ A$(I):NEXT
15080 PRINT:PRINT:PRINT:PRINT:PRINT:INK 4
15090 PRINT " "
15100 PRINT " "
15110 PRINT " "
15120 PRINT " "
15130 PRINT " "
15140 PRINT:PRINT:PRINT:PRINT
15150 INK 8:PRINT "Original fuer KC87 von":PRINT
15160 PRINT "M I C H A E L S I E D E N T O P F"
15170 PRINT "Fr.-A.-Sorge-Str. 33"
15180 PRINT "D r e s d e n"
15190 PRINT "":PRINT " "
15200 PRINT " "
15210 INK 2:PRINT " >ENTER<"
15220 IF PEEK(36)<>13 THEN 15220
15230 INK 8:CLS:PRINT INK 2;AT(23,30);">ENTER<"
15240 DATA "<-","->","","","/->","/->","/<-","/<-"
15250 DATA "<-/ESC","->/ESC","/ESC","/ESC"
15260 RESTORE 15240:FOR I=1 TO 12:READ B$(I):NEXT
15270 GOSUB 10:FOR I=1 TO 12:FOR J=1 TO 10:ME=I
15280 ON I GOSUB 40,40,60,90,110,140,180,210,1000,1040,1080,1110
15290 PRINT INK 6;AT(14,0);A$(I)," "
15295 FOR K=1 TO 30:IF PEEK(36)<>13 THEN NEXT:ELSE GOTO 15350
15300 PRINT INK 6;AT(16,0);B$(I)," "
15310 ON I GOSUB 250,250,280,300,310,330,350,370,1150,1160,1170,1180
15320 GOSUB 10
15330 NEXT J,I
15340 GOTO 15270
15350 KS=15:RS=25:WINDOW:CLS:PAUSE 2:PRINT INK 2;AT(23,30);">ENTER<"
15360 DIM C$(30):RESTORE 15370
15370 DATA 21,22,21,C6,24,D7,5B,31,21,43,77,7B,8A,11,4C,18,37,56,6C,DC,D7,22
15380 DATA A2,B1,34,87,22,21,12,12
15390 FOR I=1 TO 30:READ C$(I):NEXT
15400 D$="12345678ABCD"
15410 GOSUB 10:GOSUB 400:FOR I=1 TO 30
15420 ME=INSTR(LEFT$(C$(I),1),D$)
15430 RE=INSTR(RIGHT$(C$(I),1),D$)
15440 ON ME GOSUB 40,40,60,90,110,140,180,210,1000,1040,1080,1110
15450 ON RE GOSUB 430,430,450,480,500,540,570,600,1200,1240,1270,1300
15460 PRINT INK 6;AT(15,0);A$(ME)," "
15470 PRINT INK 6;AT(17,0);B$(ME)," "
15480 FOR J=1 TO 250:IF PEEK(36)<>13 THEN NEXT:ELSE GOTO 15550
15490 ON ME GOSUB 250,250,280,300,310,330,350,370,1150,1160,1170,1180
15500 ON RE GOSUB 630,630,660,680,690,710,730,740,1340,1350,1360,1370
15510 GOSUB 10:GOSUB 400
15520 NEXT I
15530 KS=15:RS=25:WINDOW:CLS:GOTO 15410
15550 WINDOW:CLS:RETURN