リバーシのゲームが遊べるプログラムがありますが、バグがあるようです。 間違いを修正してみましょう。
$ ruby reversi.rb
実行すると初期配置が表示されます。 初手は黒から開始です。
a b c d e f g h
1 - - - - - - - -
2 - - - - - - - -
3 - - - - - - - -
4 - - - ○ ● - - -
5 - - - ● ○ - - -
6 - - - - - - - -
7 - - - - - - - -
8 - - - - - - - -
command? (黒●) >
コマンド入力待ち状態になるので、石を配置したいマスを「c4」などの表記で指定します。
command? (黒●) >c4
配置成功、次のターン
a b c d e f g h
1 - - - - - - - -
2 - - - - - - - -
3 - - - - - - - -
4 - - ● ● ● - - -
5 - - - ● ○ - - -
6 - - - - - - - -
7 - - - - - - - -
8 - - - - - - - -
command? (白○) >
配置成功すると、配置後の盤面が表示され、次の手番の入力待ちとなります。 盤面が埋まるか、どちらの手番も詰みになった時、試合終了となり結果が表示されます。 (※白・黒どちらの手番も人間が入力してください。)
exit
quit
q
いずれかの入力で対戦が途中でも終了します。
準備してあるテストコードは、現在バグがあるので、エラーを返すようになっています。 テストコードは編集せずに、すべてパスするようにリバーシプログラムを修正してください。
$ ruby test/reversi_methods_test.rb
- 右上の
Fork
ボタンを押してください。 #{自分のアカウント名}/bug_reversi
が作成されます。- 作業PCの任意の作業ディレクトリにて git clone してください。
$ git clone https://github.com/自分のアカウント名/bug_reversi.git
- ブランチをmainブランチから作ってください。例えば以下のようにします。
$ git checkout -b debug main