最高スコアー

データの保存/取り出し

次の命令でPCにデータを保存し取り出すことができます。


この命令を使い最高スコアーを保存し表示します。

定数、変数定義

保存するスコアーは上位3位までとします。スコアーを保存/取り出すためのキー値を配列可します。

それぞれ上位1位~3位に対応します。また取り出した値を格納する変数を設けます。

スコアー保存

保存関数(setScore())を作成します。この関数は保存だけではなく引数のスコアーが上位3位以内に入っているなら入替えます

5行目で引数のスコアーを配列に格納します。そして6行~8行目のソート命令で降順に並び替えます。これでスコアーが高い順で並び替えられるのです。

スコアーを保存している処理が10行目からのループ処理です。配列可されたキー値を基に値を保存しています。

※ソート処理の詳細はMDN web docsを参照してください。

スコアー取得

保存した値を取得するスコアー取得(getScore())関数を作成します。

5行目でスコアーのキー値分ループしながらキー値を利用して値を取得します。

値が取得できない場合は10行目でスコアー値を0としています。

関数呼び出し

初期処理(init())でスコアーを取得し終了処理(final())でスコアーを保存します。

描画

スコアーの描画は既に開始画面処理(drawStart())で固定値を表示していました。ここを変数scoresに書き換えればいいのですが、scoresに格納されている値は秒です。表示は「分:秒」形式で行うため編集する必用があります。そこで編集用関数time_editを作成します。


秒数を引数にして呼び出すと「分:秒」で編集した値が返ってきます。

開始画面処理の該当箇所を次の通り変更します。

実行

スコアーが保存/表示されるか確認します。実行画面へ


ここまでのソースコードを掲載します。

タイトルとURLをコピーしました