为了账号安全,请及时绑定邮箱和手机立即绑定

所有 Tic Tac Toe Board 的可能性 - VoidCC VoidCC

所有 Tic Tac Toe Board 的可能性 - VoidCC VoidCC

繁花如伊 2021-11-11 18:25:10
我正在尝试使用 Java 中的递归和树在游戏 tic tac toe 中生成所有可能的动作。我正在使用通用树和递归,我觉得这很困难。但是,树中的第一代应该填充1个点,然后下一代填充2个点,然后下一代填充3个点,然后下一代填充4个点,以此类推。我的目标是创建一个节点:       #      /      #-#-#-#-#-#-#-#-#    / / / / / / / / /(should be filled) #-#-#-#-#-#-#-#-#每个子节点有 9 个兄弟节点。每个兄弟姐妹都有 1/9 可能的位置。'X' 或 'O' 交替放置在每一代儿童中(在这 9 个位置中的 1 个位置)。到最后一代,树应该充满 X 和 O。问题:我的 insertLayer 方法被无限递归调用。当我输入一个计数器来跟踪它的增长方式时,它会卡在 6-8 之间。
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

此条件始终为真:

if (gameBoard[i][j] != 'X' || gameBoard[i][j] != 'O')

所以你会永远递归。

更改||&&

if (gameBoard[i][j] != 'X' && gameBoard[i][j] != 'O')

或者更好,因为它更清晰更简单:

if (gameBoard[i][j] != ' ')

注意:这可能不是您唯一的错误,但它是我注意到的最明显和最严重的错误。


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信