テクニック集/自前でスコアランキングを作る

Last-modified: 2010-04-30 (金) 01:19:37

標準のハイスコアオブジェクトは、名前入力時にいかにもツールだというようなダイアログが表示されたり、表示できる内容も名前とスコアだけで面白みに欠けます。
今回は、自前でランキング表示システムを構築して、例のダイアログ使わずにネームエントリーしたり、名前とスコア以外の情報もランキングに表示できるようにしたいと思います。

サンプルファイル

標準のオブジェクトだけで実現できます。ただし、保存したiniファイルを暗号化する場合は、別途専用のエクステンションが必要になります。
今回は、スコアと名前、タイムの3つの情報を表示しています。
グローバル変数とグローバル文字列をエントリーするデータとしていますので、色々と変えて確認してみてください。

仕組み

hiscore1.png
ランキングデータはリストオブジェクトに入れます。
リストオブジェクトは、指定した行に挿入することが出来るので、それぞれのランクのスコアと比較して然るべき行に挿入すれば、それより下の行は1つずつズレてくれます。

 

hiscore2.png
現在のスコアをリストに挿入するイベントです。
リストに入っているそれぞれのランクのスコアと比較して、それより大きかった場合に挿入します。
名前とタイムはスコアに付随してそれぞれのリストの同じ行に挿入します。
リストには文字列としてしか挿入できないので、スコアなどの数値はStr$を使って文字列に変換した上で挿入します。
ランク外となった6位の行は念のために削除します。

コメント