“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

155.HSPでゲームを作ろう:培養臼Ex その2

データベースの準備が出来たので、ランキングの表示処理から作成に取り掛かった。
トップ10のランキングの取得は、データベースの有無確認と一緒の処理で行った。
これも、ほぼテストしたときと同じ処理。

;ハイスコア上位10位までを取得して配列に保存
sql_q "SELECT *,substr(strftime('%Y/%m/%d',rec_date),3) as r_date FROM scorelist ORDER BY score DESC ,rec_date LIMIT 10"
count = stat
sdim score_l,20,count
sdim score_name_l,3,count
sdim stage_l,10,count
sdim rec_date_l,8,count

repeat count
  score_l(cnt)=sql_v("score")
  score_name_l(cnt)=sql_v("score_name")
  stage_l(cnt)=sql_v("stage")
  rec_date_l(cnt)=sql_v("r_date")
  sql_next
loop

ランキングの表示は、score_lなどの配列変数に格納した値を使う。
このあたり、変数を適当に増やせるのはHSPの良いところでもあり、悪い、というより困るところだよなぁ。
せめて構造体は使いたいところ。
閑話休題

ランキングの表示は、ストーリー表示と同じく、タイトル画面で一定時間経過したら、表示ルーチンに飛ばすようにした。
ランキングとストーリーが交互に表示されるよう、フラグを付けて分岐させた。

表示自体は、単純にrepeat~loop命令で、順番にpicmesすればいいのだが、多少凝ってみた。
まずは、ストーリー表示と同じく、下からスクロールして出てくるように。pos命令で調整。
トップ3を目立たせようと、1、2、3位と4位以下で表示色を変更した。
なんかそれっぽいw



表示には満足したので、次はランクインしたときのネームエントリー処理を作る。