ちょっと懐かしい、3文字ネーム制のハイスコアランキング処理の投稿だ。
説明不要かもしれないが、スコアの高い順に1位~10位までのネームが並び、そこに割り込めるスコアが出れば名前を入力させ、以下は下にズラしながら再び1位~10位まで並べ直す、というプログラムになっている。
自分のゲームにハイスコア処理を入れておきたい、けど1から作るのはメンドくさいなあ……というモノグサ君はぜひ組み込んでもらいたい。
- ’
- ’ ランキンク゛ フ゜ロク゛ラム
- ’
- GOSUB @SHOKI
- ’カリノ フ゜ロク゛ラム
- FOR A=1 TO 10
- READ C(A)
- NEXT A
- FOR A=1 TO 10
- READ N$(A)
- NEXT A
- @GAME
- X=RND(40):Y=RND(40):Z=X+Y
- LOCATE 2,3:PRINT X;”+”;Y;”=”;Z
- P=0
- @LOOP
- P=P+1
- IF Z < C(10) GOTO @RANKING
- IF Z < C(P) AND P<11 GOTO @LOOP
- IF Z >= C(P) AND P<11 GOTO @RANK
- @RANKING
- CLS
- FOR X=1 TO 10
- IF X<10 THEN LOCATE 16,X+3:PRINT X;”.”;C(X);”┠”;N$(X)
- IF X==10 THEN LOCATE 15,X+3:PRINT X;”.”;C(X);”┠”;N$(X)
- NEXT X
- GOTO @GAME
- @BTN
- BT=BUTTON()
- IF BT == 16 GOTO @GAME
- GOTO @BTN
- @RANK
- LOCATE 3,18:PRINT ”NEW RECORD!!”:INPUT ”ナマエヲ イレテクタ゛サイ”;NM$
- NM$=MID$(NM$,0,3)
- FOR Q=10 TO P+1 STEP -1
- C(Q)=C(Q-1)
- N$(Q)=N$(Q-1)
- NEXT Q
- C(P)=Z:N$(P)=NM$
- GOTO @RANKING
- @SHOKI
- CLS:CLEAR
- DIM C(11),N$(11)
- DATA 40,35,30,22,21,18,16,8,3,0
- DATA ”SUG”,”BUN”,”TAK”,”JOH”,”BIG”,”LEN”,”AIИ”,”マサト”,”トム”,”SAM”
- RETURN