私はifとelsifのステートメントの後に勝利の配列を表示しようとしていますが、勝利者として選ばれた配列を正しく表示する方法がわかりませんifとelsif文でチェックされます。勝利の配列を表示しようとしています
# Helper Method
def position_taken?(board, index)
!(board[index].nil? || board[index] == " ")
end
# Define your WIN_COMBINATIONS constant
WIN_COMBINATIONS = [
[0,1,2],
[3,4,5],
[6,7,8],
[0,3,6],
[1,4,7],
[2,5,8],
[0,4,8],
[2,4,6]
]
#board = [" ", "X", "O"]
def won?(board)
WIN_COMBINATIONS.each do |win_combination|
win_index_1 = win_combination[0]
position_1 = board[win_index_1]
win_index_2 = win_combination[1]
position_2 = board[win_index_2]
win_index_3 = win_combination[2]
position_3 = board[win_index_3]
#is position 1, 2 , and 3 all equal to X or O?
#if so return win_combination
if position_1 == "X" && position_2 == "X" && position_3 == "X"
win_combination
elsif position_1 == "O" && position_2 == "O" && position_3 == "O"
win_combination
else
false
end
end
end
も空のボードがある場合はfalseを表示する方法はありますか? –
あなたは'won?'メソッドの最初の行に 'board.blank if false if return 'を実行することができます。 –