ゲームの終了条件
終了条件を考えよう
# 説明: ゲームが終了しているかどうかを返却する
# 引数: player: プレイヤーを表す。1 or 2の数値
# board: ゲーム板, 3 x 3の二次元配列
# 戻り値: ゲームが続いている場合 => false
# ゲームが終わった場合 => true
def over? player, board
end終了条件を実装する
最終更新
# 説明: ゲームが終了しているかどうかを返却する
# 引数: player: プレイヤーを表す。1 or 2の数値
# board: ゲーム板, 3 x 3の二次元配列
# 戻り値: ゲームが続いている場合 => false
# ゲームが終わった場合 => true
def over? player, board
end最終更新
# 説明: ゲームが終了しているかどうかを返却する
# 引数: player: プレイヤーを表す。1 or 2の数値
# board: ゲーム板, 3 x 3の二次元配列
# 戻り値: ゲームが続いている場合 => false
# ゲームが終わった場合 => true
def over? player, board
return true if win?(player, board)
return false
end
# 説明: ゲームが終了しているかどうかを返却する
# 引数: player: プレイヤーを表す。1 or 2の数値
# board: ゲーム板, 3 x 3の二次元配列
# 戻り値: ゲームが続いている場合 => false
# ゲームが終わった場合 => true
def over? player, board
return true if win?(player, board)
return false if board.any?{|row| row.any?{|a| 0 == a} }
return true
end# 説明: コマを配置する場所があるかどうかを判定する
# 引数: board: ゲーム板, 3 x 3の二次元配列
# 戻り値: コマを配置する場所がある => true
# コマを配置する場所がない => false
def can_plase_piece? board
return board.any?{|row| row.any?{|a| 0 == a} }
end# 説明: ゲームが終了しているかどうかを返却する
# 引数: player: プレイヤーを表す。1 or 2の数値
# board: ゲーム板, 3 x 3の二次元配列
# 戻り値: ゲームが続いている場合 => false
# ゲームが終わった場合 => true
def over? player, board
return true if win?(player, board)
return false if can_plase_piece?(board)
return true
end