【发布时间】:2019-10-16 18:17:04
【问题描述】:
# Global constants
X = "X" # cross
O = "O" # toe
EMPTY = "" # empty board
TIE = "DRAW" # draw state
NUMBER_SQUARES = 9 # number of fields on the board
创建一个新的游戏板 -
等于EMPTY 的九个元素的列表并返回它
def new_playing_board
create_board = Array.new(NUMBER_SQUARES) { EMPTY }
end
board = new_playing_board
该函数获取棋盘并返回游戏的获胜者。
可以返回四个可能的值:"X"、"O"——计算机或人,
TIE - 如果所有字段都已完成,
nil - 其中一个字段为空且未定义获胜者
def win_play(board)
WAYS_TO_WIN = [ # backtrace error: dynamic constant assignment WAYS_TO_WIN = [ rb:136
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6]
]
WAYS_TO_WIN.each do |row|
if (board[row[0]] == board[row[1]] && board[row[0]] == board[row[2]]) != EMPTY
winner = board[row[0]]
return winner
end
unless board.include?(EMPTY)
return TIE
end
end
return nil
end
win_play(board)
回溯:动态常量赋值 WAYS_TO_WIN = [ rb:136
【问题讨论】:
-
你指的错误是什么?什么是回溯?
-
显示的固定错误
-
查看this了解更多信息。
-
必须放,今天的积分用完了:)
标签: ruby