設計してから作る
作品を作る前に、登場するスプライト、操作、変数、開始条件、成功・失敗条件を書き出します。「面白いゲームを作る」ではなく、「左右キーで星を取り、10秒で得点を表示する」のように観察できるルールにします。
| 項目 | 例 |
|---|---|
| 入力 | 左右キー |
| 状態 | 得点、残り時間 |
| 判定 | 星に触れたか |
| 結果 | 得点を増やす、終了する |
処理を分ける
一つのスクリプトに全部を詰め込まず、初期化、入力、移動、判定、終了に分けます。スクリプトが短くなるだけでなく、どこを変更すればよいか分かりやすくなります。
担当を決めるステージは場面と時間、プレイヤーは操作、星は出現と衝突、得点変数は得点の管理、というように担当を決めます。
テスト表を作る
正常な操作だけでなく、端、0点、時間切れ、連続入力など境界の動きも確認します。
| 確認 | 操作 | 期待する結果 |
|---|---|---|
| 開始 | 旗をクリック | 得点が0、時間が10になる |
| 移動 | 右キーを押す | プレイヤーが右へ動く |
| 端 | 右端まで移動 | 画面外へ出ない |
| 終了 | 時間を0にする | 結果画面へ進む |
デバッグの手順
まず再現条件を固定し、次に値と処理の順番を確認します。「動かない」と一気に考えず、開始されたか、条件が真になったか、命令が実行されたかを分けて調べます。
- 変数を画面に表示する
- 「~と言う」で通過した場所を表示する
- 条件を一時的に単純にする
- 直った変更を一つずつ戻して原因を特定する
注意複数の場所を同時に変更すると、何が原因だったか分からなくなります。小さく変更し、毎回実行して結果を記録してください。