Step 06 of 12
手番交代とパス
着手後に手番を交代、相手に合法手が無ければ自動パスして自分の番に戻る、
両者連続パスで gameOver。
ゲーム状態遷移のロジックを endTurn 1 つにまとめる練習。
MyOthello.java
Java runtime を初回読み込み中…
CheerpJ の JRE (数十 MB) をダウンロードしています。
preparing
About this step
状態遷移をまとめる
着手ごとに「手番交代 → 合法手チェック → 必要ならパス → 連続パスで終局」という
決まった処理が走ります。これを onKey の中にベタ書きすると汚くなるので、
endTurn() にまとめます。呼び出し側は placeAt(...); endTurn(); だけ。
パスは「戻す」だけ
オセロのパスは 「手番が合法手を持っていない時に自動で元に戻る」だけ。
特別な UI は不要。endTurn の中で 2 回反転すれば、
結果として「元のプレイヤーの手番に戻る」になります。
動かしてみる
着手するたびにヒントの場所が変わる(= 手番が変わっている)のを確認してください。 盤面がほぼ埋まると、片方の色に合法手が無くなって自動パスが発生します。