忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ネームエントリーの方は大体出来て来たので、ランキング表示の方を作ろうと思ったのですが
ランキング表示させる為には、得点をソートしないといけません。

で、ソートの方法について色々と調べてみたのですが結構ややこしそうな感じでした。
ここでふと、リンク先の「マクセルの手動ブログ」さんで簡単なソートの方法を掲載されていたのを
思い出し、早速見てみました。
(左側メニュー部分の成果のHSPから「スコアランキング表 (えせソート)」をクリックで見れます)

読んでみて納得。とても簡単でわかりやすく解説されています。
本来のソートとはちょっと違いますが、スコアランキングとしては十分に機能します。

この、マクセルさんのスクリプトを使わせて貰って、簡単なランキング表示スクリプトを作成してみました↓
**************************************************************
 screen 0,280,120,0,0,0
 sc=0  ;初期スコア
 dim ranking,5 ; ① 1~5位のスコアを配列変数に保存
 ranking.0=500 ; ② 適当なスコアをデフォルトとして保存。
 ranking.1=450
 ranking.2=400
 ranking.3=350
 ranking.4=300
 scrrank=5  ; ③ 現在の順位(最初はランク外)
*main
 redraw 0 ;仮想画面を指定
 color 0,0,0 ;色に黒を指定
 boxf 0,0,640,480 ;指定色で画面を塗りつぶす

 stick ky,16
 if ky=16 : sc+10       ;スペースでスコア加算
 if ky=32 : gosub *rank ;エンターでランキング反映

 color 255,255,255
 pos 0,0
 mes " 1位 "+ranking.0
 mes " 2位 "+ranking.1
 mes " 3位 "+ranking.2
 mes " 4位 "+ranking.3
 mes " 5位 "+ranking.4
 mes "score "+sc
 pos 85,0
 mes "Spaceでスコア加算"
 mes "Enterでランキングに反映"
 redraw 1 ;画面を更新
 await 16
 getkey syuryo,27:if syuryo=1:end;ESCを押すと強制終了
 goto *main ;*mainに戻る

*rank
 if sc>ranking.4 {     ; ④ ランクイン時のみ以降を処理
  repeat 5
   if sc>ranking.cnt :scrrank=cnt :break ; ⑤ 現在のランクを判定
  loop
  repeat 5
   if scrrank=4-cnt :ranking(4-cnt)=sc :break ; ⑦ 処理対象が現在の順位まで来たら現スコアを保存し終了
   ranking(4-cnt)=ranking(4-cnt-1)   ; ⑥ 現在の順位より下位のランクをずらす
  loop
 } 
 sc=0
 return
*********************************************************************
上記のスクリプトを実行するとこんな感じ↓
WS000000.JPG
スペースでスコア加算し5位よりも大きいスコアなら、エンターを押した時にランキングに反映されます。
ほぼ、マクセルさんのスクリプトを写しただけですが、ランキングスクリプトとしては
これで十分な感じですね。
後は、これに名前を関連付けで保存&読み込み出来るようにするべく試行錯誤しています^^;

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]