ランキング追加
ランキング機能の実装。
まず、以前の解析でHSPTV.ASをそのまま使うのは回避。
サイズ肥大を招くのと、無条件にメモリノート用のバッファをクリアしているので、
送信にNOと答えるとランキングを取得しなおしが必要らしい。
というわけで、以下のようにしてみました。
GameOver時の判定
if scm>scps {
updsc=scm
}
スコアscmが最下位の点数scpsより高ければ登録用変数updscに格納。
scpsはランキング表示で最後に取得したスコア(つまりTop10なら10番目)が入っています。
文字列型変数ですが、整数型変数を先に記述した比較演算なので整数扱いです。
タイトル表示直前のランキング取得 if updsc>=-1 { hsptv_send ak,updsc,af,0 updsc=-2 }
登録用変数updscが-1以上なら、送信処理を呼びます。
その後、updscを-2にして、連続で送信されないようにしています。
ちなみに、プログラム起動時は「updsc-」を実行して-1にしてありますので、
初回は取得のみ行います。
hsptv_send の送信確認でNoにした場合、最後に取得したランキング情報がバッファに
残っている(壊されない)前提でよさそうです。ちょっと不安だけど。
Noでは再取得しませんので最新のランキング取得には不都合な面はあります。
(ランキング内に入るスコアになって送信Yesにしないと再取得しない)
5秒以内に再取得しないという制約を守るのが難しいので、今回はここまでを実装。