# ゲーム状態間のパスを確認する

> ブラウザ ゲームの開始、プレイ、一時停止、勝敗の状態をマップし、すべての遷移と無視する必要がある入力をテストします。

- URL: https://oneshotgems.ai/ja/topics/testing-game-state-transitions
- カテゴリ: ゲーム開発者向け
- 種類: ガイド
- 更新日: 2026年10月5日

多くの厄介なゲーム バグは、安定した画面の間に発生します。スタート クリックが 2 回受け付けられたり、一時停止メニューで動きがアクティブのままになったり、タイマーの実行中に勝利オーバーレイが表示されたりするなどです。状態遷移テストでは、状態、状態間を移動するアクション、およびその境界で停止または開始する動作に名前を付けます。これは、各画面を個別にチェックすることとは異なります。なぜなら、画面は正しく見えても、その下に隠れた入力やスコア ロジックが継続している場合があるからです。

## 小さな状態遷移図を描く

現在ある状態（準備完了、プレイ中、一時停止、勝利、敗北）だけから始めます。有効な遷移を列挙します。たとえば、開始操作で準備完了からプレイ中へ、一時停止操作でプレイ中から一時停止へ、再開操作で一時停止からプレイ中へ、衝突後にプレイ中から敗北へ移ります。勝利後や敗北後に直接プレイを始められるのか、準備完了状態を経由するのかも決めます。画面や機能を増やす前に、小さな図で不可能な経路を見つけられます。

## 重複入力と状態に合わない入力をテストする

同じトランジションをすばやく 2 回試します。[スタート] をダブルクリックするか、[一時停止] を 2 回押すか、勝利パネルが開いている間に [再起動] を押します。各状態は、重複したタイマーやオーバーレイを作成するのではなく、繰り返しの入力を意図的に処理する必要があります。一時停止中や負けた後にもゲームプレイキーを押してください。アクションを無視するか、キューに入れるか、またはメニューで使用するかを決定し、選択したルールを確認します。

## よくある質問

**最初にどのゲーム状態をテストする必要がありますか?** プレイをブロックしたりランを終了したりする状態 (準備完了、アクティブ プレイ、一時停止、勝敗、再開) をカバーします。利用可能なアクションを変更する場合は、中間画面を追加します。

**一時停止メニューが開いているときにゲームプレイ入力が機能する必要がありますか?** ルールを選択してテストします。多くのゲームは一時停止中の動きを無視しますが、メニュー ナビゲーションはアクティブなままになる場合があります。重要な部分は、一貫した目に見える違いです。

## 気になることを、もっと

- [ゲームプロンプトの受け入れ基準の作成](https://oneshotgems.ai/ja/topics/game-prompt-acceptance-criteria): ゲームのアイデアを、明確なアクション、結果、失敗例、および意図的に小さい最初のスコープを使用して、テスト可能な受け入れ基準に変換します。
- [ブラウザ ゲームで状態保存をテストする](https://oneshotgems.ai/ja/topics/testing-game-save-state): ブラウザ ゲームが何を保存し、何をリセットするか、保存されたデータが失われたり、古くなったり、セッション間で変更された場合にどのように動作するかを確認します。

## 関連情報

- [MDN 履歴 API ガイド](https://developer.mozilla.org/en-US/docs/Web/API/History_API/Working_with_the_History_API)

---
正規ページ: https://oneshotgems.ai/ja/topics/testing-game-state-transitions
