home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib10.dsk
/
SCOREKEEPER.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
120 lines
10 REM ****************************
20 REM * << SCOREKEEPER >> *
30 REM * BY THORNE D HARRIS III *
40 REM * COPYRIGHT (C) 1982 *
50 REM * BY MICRO-SPARC INC *
60 REM * LINCOLN, MA. 01773 *
70 REM ****************************
98 REM
100 REM MENU
105 POKE 34,0
106 CLEAR
110 D$ = CHR$(4)
120 PRINT D$;"NOMON I,C,O"
130 TEXT : HOME
140 HTAB 17: INVERSE : PRINT "SCOREKEEPER": NORMAL
150 PRINT : PRINT TAB( 13)"BY HHH ENTERPRISES"
160 PRINT : PRINT : PRINT : INVERSE : HTAB 18: PRINT "MENU": NORMAL
170 PRINT
180 PRINT "PRESS <S> TO START NEW SCORECARD AND"
185 PRINT TAB( 11)"ERASE OLD ONE."
190 PRINT "PRESS <E> TO ENTER NEW SCORES."
200 PRINT "PRESS <V> TO VIEW OLD SCORES."
202 PRINT "PRESS <Q> TO QUIT."
210 INPUT A$
220 IF A$ = "E" THEN 300
230 IF A$ = "V" THEN 3000
240 IF A$ = "S" THEN 5000
242 IF A$ = "Q" THEN HOME : END
250 GOTO 100
260 END
300 REM
310 REM INPUT ROUTINE
320 DIM A$(20),B$(20),C$(20),D$(20)
330 I = 0
340 PRINT "TYPE 'STORE' FOR 'GAME' TO STORE SCORES": PRINT :I = I +1: PRINT : PRINT
350 INPUT "GAME : ";A$(I)
360 IF A$(I) = "STORE" THEN GOTO 420
370 INPUT "SCORE : ";B$(I)
380 INPUT "INITIALS : ";C$(I)
390 INPUT "DATE : ";D$(I)
400 PRINT
410 GOTO 340
420 REM WRITE ROUTINE
430 I = I -1
440 PRINT D$;"OPEN SCORE#"
450 PRINT D$;"READ SCORE#"
460 INPUT S:S1 = S +I
470 PRINT D$;"CLOSE SCORE#"
480 PRINT D$;"OPEN SCORE#"
490 PRINT D$;"WRITE SCORE#"
500 PRINT S1
510 PRINT D$;"CLOSE SCORE#"
520 PRINT D$;"APPEND SCORECARD"
530 PRINT D$;"WRITE SCORECARD"
540 FOR X = 1 TO I
550 PRINT A$(X)
560 PRINT B$(X)
570 PRINT C$(X)
580 PRINT D$(X)
590 NEXT X
600 PRINT D$;"CLOSE SCORECARD"
610 CLEAR : GOTO 100
3000 REM VIEW SCORES
3010 PRINT D$;"OPEN SCORE#"
3020 PRINT D$;"READ SCORE#"
3030 INPUT I
3040 PRINT D$;"CLOSE SCORE#"
3050 DIM A$(I),B$(I),C$(I),D$(I)
3060 HOME : INVERSE
3070 HTAB 16: PRINT "SCORECARD": NORMAL : PRINT TAB( 17)"BY TDH"
3080 PRINT : PRINT : HTAB 4: INVERSE : PRINT "GAME";: HTAB 16: PRINT "SCORE";: HTAB 26: PRINT "INT";: HTAB 35: PRINT "DATE": NORMAL : PRINT
3090 PRINT D$;"OPEN SCORECARD"
3100 PRINT D$;"READ SCORECARD"
3110 FOR J = 1 TO I
3120 INPUT A$(J),B$(J),C$(J),D$(J)
3140 NEXT J
3150 PRINT D$;"CLOSE SCORECARD"
3152 IF I = 1 THEN 3160
3155 GOSUB 4000
3160 X% = 0
3165 FOR J = 1 TO I
3166 POKE 34,5
3170 X% = X% +1
3175 IF X% = 9 THEN GOSUB 6000
3180 PRINT A$(J);: HTAB 16: PRINT B$(J);: HTAB 26: PRINT C$(J);: HTAB 33: PRINT D$(J)
3190 IF X% = 9 THEN X% = 1
3200 NEXT J
3210 INVERSE : PRINT "THAT'S ALL. HIT ANY KEY FOR MENU.": NORMAL
3230 GET ANY$
3240 GOTO 100
4000 REM SORT ENTRIES
4001 REM
4005 FOR P = 1 TO I -1
4010 FOR Q = P +1 TO I
4020 IF A$(P) <A$(Q) THEN 4060
4030 ZA$ = A$(P):ZB$ = B$(P):ZC$ = C$(P):ZD$ = D$(P)
4040 A$(P) = A$(Q):B$(P) = B$(Q):C$(P) = C$(Q):D$(P) = D$(Q)
4050 A$(Q) = ZA$:B$(Q) = ZB$:C$(Q) = ZC$:D$(Q) = ZD$
4060 NEXT Q
4070 NEXT P
4080 RETURN
4999 END
5000 REM INITIALIZE - OPEN SCORECARD & SCORE#
5010 PRINT D$;"OPEN SCORECARD"
5020 PRINT D$;"DELETE SCORECARD"
5030 PRINT D$;"OPEN SCORECARD"
5040 PRINT D$;"CLOSE SCORECARD"
5050 PRINT D$;"OPEN SCORE#"
5060 PRINT D$;"DELETE SCORE#"
5070 PRINT D$;"OPEN SCORE#"
5080 PRINT D$;"WRITE SCORE#"
5090 PRINT 0
5100 PRINT D$;"CLOSE SCORE#"
5110 PRINT "NOW PRESS <E> TO ENTER NEW SCORES."
5120 GOTO 210
6000 REM DISPLAY ONLY 10 LINES
6010 VTAB 23: PRINT "HIT ANY KEY TO CONTINUE."
6020 GET ANY$
6025 VTAB 23: CALL -958
6030 RETURN