- ゲームの組み立て
- ゲームの組み立て
- ゲームの開始と初期化
- 初期化によりゲームの内部状態を初期状態に設定する
- フィールドの初期状態は空の状態(壁と床以外は全て0)
- ブロックの初期状態はフィールド中央の最上段
- ゲームオーバー時の処理
- ゲームループの構成
- ブロック落下
- ブロック固定化
- ラインチェック
- ブロック生成
- ライン消去とライン詰め
- ゲーム開始時
- プログラムの起動と同時にゲームが開始される
- 初期状態はフィールドには壁と床のみで、固定ブロックはない状態
- 初期化処理でフィールドとブロックをクリアする
- ゲーム開始時にブロックが生成される
- ブロックはランダムに生成され、7種類のブロックのいずれかが生成される
- ゲーム開始時の状態
- ゲームオーバー
- 新しく生成したブロックとフィールド内の固定ブロックが衝突状態になった時、ゲームオーバーとする
- ゲームオーバーになった時は初期化して、ゲーム開始時の状態に戻る
- ユーザーがプログラムを終了しない限り、繰り返される。
- ゲームオーバーの状態
- ゲームループ
- 基本的にブロック落下、ブロック固定、ラインチェック、ブロック生成を繰り返す
- ブロック落下
- 衝突があるまで落下処理を繰り返す
- この状態のみプレイヤーの操作が可能
- ブロック固定
- 落下で衝突が発生したら、ブロックの固定化の処理を行う
- ラインチェック
- ブロックの固定が行われるたびにフィールド全体に対してラインチェックを行う
- 揃っている段があれば、ライン消去処理、ライン詰め処理を行う
- 揃っている段がなければブロック生成に移る
- ブロック生成
- ブロックをクリア(座標含む)し、次の新しいブロックを生成する
- 生成したブロックと固定ブロックが重なっていればゲームオーバー
- 状態遷移図
サンプルコード
サンプルプログラム(実行可能JARファイル)