ゲーム板の出力関数

三目並べのゲーム板を出力する関数を実装します。

全てmain.rbに記載していくようにお願いします。

ゲーム板を定義する

ゲーム板を表現するのに3 x 3の二次元配列を使います。

board =  [[], [], []]

プレイヤー1のコマが置いてある状態を1

プレイヤー2のコマが置いてある状態を2

何も置いていない状態を0とします

なのでゲーム板の初期状態は以下のようになるでしょう

board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

ゲーム板の状態を出力できるようにする

ゲーム板の状態を出力できるようにします

# 説明: ゲーム板の状態をコンソールに出力する
# 引数: board: ゲーム板, 3 x 3の二次元配列
# 戻り値: なし
def print_board board
  puts board
end

print_board関数を呼び出してみましょう

# 説明: ゲーム板の状態をコンソールに出力する
...

board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

print_board(board)

実行すれば、以下のような出力になると思います

[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

これでは、ゲームっぽくありませんね。

少し修正を加えてみましょう。

課題コーナー

print_boardメソッドを修正して見やすくしてみよう

私は以下のように修正してみました。

# 説明: ゲーム板の状態をコンソールに出力する
# 引数: board: ゲーム板, 3 x 3の二次元配列
# 戻り値: なし
def print_board board
  puts ""
  board.each do |row|
    row.each do |e|
      print " N " if 0 == e
      print " o " if 1 == e
      print " x " if 2 == e
    end
    puts ""
  end
  puts ""
end

この状態でもう一度実行してみます。

 N  N  N 
 N  N  N 
 N  N  N 

以前に実装した物より見やすくなりました!

最終更新