home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh4x
/
sh43a.d64
/
kompl.bestenlist
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
3KB
|
141 lines
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