5 REM****************************** 6 REM******* BESTENLISTEN ********* 7 REM****************************** 8 : 10 DIM PL(60,2),NL$(60,2) 14 : 15 REM---------- MENUE ------------- 16 : 20 PRINTCHR$(147) CHR$(17) CHR$(17) TAB(10)"MENUE" 25 PRINT:PRINT:PRINT " N = NEUES SPIEL" 30 PRINT:PRINT " E = EWIGE BESTENLISTE" 35 PRINT:PRINT " P = PERSOENLICHE BESTENLISTE" 40 PRINT:PRINT " T = TAGESBESTENLISTE" 45 PRINT:PRINT " S = SPEICHERN DER LISTEN" 50 PRINT:PRINT " L = LADEN DER LISTEN" 55 PRINT:PRINT " Q = ENDE" 60 PRINT SPC(180) "BITTE WAEHLEN" 65 PRINT:PRINT 70 GET A$:IF A$="" THEN 70 75 FOR X=1 TO 7 80 IF A$=MID$("NEPTSLQ",X,1) THEN 95 85 NEXT X 90 GOTO 20 95 ON X GOTO 110,400,500,600,700,800,900 99 : 100 REM----- NEUES SPIEL ------ 102 : 110 INPUT "NAME";SN$ 120 INPUT"RESULTAT =";RE 125 : 130 F=0:REM----- PERSOENLICHE LISTE----- 133 : 140 NL$=SN$:PZ=RE 150 FOR K=1 TO 60 160 IF NL$=NL$(K,F) AND PZ<=PL(K,F) THEN PZ=0 170 IF NL$=NL$(K,F) AND PZ>PL(K,F) THEN PL(K,F)=0:NL$(K,F)="" 180 NEXT K 190 GOSUB 1000 199 : 230 F=1:REM----- EWIGE BESTEN-LISTE----- 233 : 240 NL$=SN$:PZ=RE 250 GOSUB 1000 299 : 330 F=2:REM----- TAGES-BESTEN-LISTE----- 333 : 340 NL$=SN$:PZ=RE 350 GOSUB 1000 360 GOTO 20 399 : 400 REM--- DRUCKEN DER EWIGEN LISTE --- 405 : 410 F=1 420 PRINT CHR$(147):PRINT 430 PRINT TAB(3)"EWIGE BESTENLISTE" 440 PRINT 450 GOSUB 1200 460 GOTO 20 499 : 500 REM--- DRUCKEN DER PERSON.LISTE --- 505 : 510 F=0 520 PRINT CHR$(147):PRINT 530 PRINT TAB(3)"PERSOENL. LISTE" 540 PRINT 550 GOSUB 1200 560 GOTO 20 599 : 600 REM--- DRUCKEN DER TAGES LISTE --- 605 : 610 F=2 620 PRINT CHR$(147):PRINT 630 PRINT TAB(3)"TAGES-BESTENLISTE" 640 PRINT 650 GOSUB 1200 660 GOTO 20 699 : 700 REM----- SPEICHERN DER LISTE ------ 705 : 710 OPEN1,8,3,"TAB.,S,W" 720 FOR K=1 TO 60 730 IF NL$(K,0)=""THEN NL$(K,0)="." 740 IF NL$(K,1)=""THEN NL$(K,1)="." 750 PRINT#1,NL$(K,0):PRINT#1,NL$(K,1) 760 PRINT#1,STR$(PL(K,0)):PRINT#1,STR$(PL(K,1)) 770 NEXT K 780 CLOSE 1 790 GOTO 20 799 : 800 REM----- LADEN DER LISTEN -------- 805 : 810 OPEN 1,8,4,"TAB.,S,R" 820 FOR K=1 TO 60 830 INPUT#1,NL$(K,0):IF NL$(K,0)="."THEN NL$(K,0)="" 840 INPUT#1,NL$(K,1):IF NL$(K,1)="."THEN NL$(K,1)="" 850 INPUT#1,PL$(0),PL$(1) 860 PL(K,0)=VAL(PL$(0)) 870 PL(K,1)=VAL(PL$(1)) 880 NEXT K 890 CLOSE1 895 GOTO 20 899 : 900 REM------SPIEL-ENDE -------- 905 : 910 END 994 REM******************************** 995 : 996 REM******* UNTERPROGRAMME ********* 997 : 998 REM------- SORTIEREN 1 --------- 999 : 1000 FOR K=1 TO 60 1010 IF PZ>PL(K,F) THEN GOSUB 1100 1020 NEXT K 1030 RETURN 1097 : 1098 REM------- SORTIEREN 2 --------- 1099 : 1100 A=PL(K,F) 1110 PL(K,F)=PZ 1120 PZ=A 1125 : 1130 B$=NL$(K,F) 1140 NL$(K,F)=NL$ 1150 NL$=B$ 1160 RETURN 1199 : 1200 REM---- DRUCKEN DER LISTEN ----- 1205 : 1210 FOR K=1 TO 60 1215 IF K/21=INT(K/21) THEN GET A$:IF A$="" THEN 1215 1220 J=1: IF K>9 THEN J=2 1230 PRINT TAB(2) MID$(STR$(K),J); 1240 PRINT". "; 1250 LZ=LEN(STR$(PL(1,F))) 1260 PRINT LEFT$(NL$(K,F),14-LZ); 1270 PRINT TAB(20-LEN(STR$(PL(K,F))));PL(K,F) 1280 NEXT K 1290 GET A$:IF A$=""THEN 1290 1295 RETURN