グローバル変数のかわりにグループを使うのがおすすめ
グループを変数のかたまりとして使おうという話です。
ゲームにつかう変数はいくつか特徴があります。
・たびたび初期化が必要になる(面クリア時など)
・保存と呼び出しを期待される(リスタートなど)
・変数の数が膨大になる
普通にグローバル変数を宣言してこれらをやると神経を使います。
そして初期化を忘れてバグになります。
グループコピーが活躍する
まずはグループの宣言です。
■プレイヤー
・X{=10}
・Y{=10}
・HP{=100}
プレイヤー初期値とはプレイヤー
主人公とはプレイヤー
グループも宣言と同時に初期値を入れることができます。
普通の変数宣言でも初期値は入れられますが、初期値を別の変数(プレイヤー初期値)にとっておくのがコツです。
ゲームが進み、ゲームオーバーになりました。 さて主人公の位置やHPを初期値にもどしましょう。
●プレイヤー初期化
主人公にプレイヤー初期値をグループコピー
グループコピー一つで初期値に戻りました。
短くて楽というのもありますが、次にもっと良い点が。
ゲームを作っている途中で変数を増やすことがありますね。
メンバに「武器」を追加してみましょう。
■プレイヤー
・X{=10}
・Y{=10}
・HP{=100}
・武器{="素手"} //追加
プレイヤー初期値とはプレイヤー
主人公とはプレイヤー
●プレイヤー初期化
主人公にプレイヤー初期値をグループコピー
グローバル変数だと、ここで初期化部分もいじらなくてはなりません。
でも今回はグループコピーで行っているので初期化部分は触らなくても大丈夫です。
初期化関連でバグを起こす可能性が減りました。
このバグは見逃しやすいので減らす仕組みが大事だと思います。