首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所有Tic Tac脚趾板的可能性-堆栈溢出- Java递归通用树

所有Tic Tac脚趾板的可能性-堆栈溢出- Java递归通用树
EN

Stack Overflow用户
提问于 2018-10-11 17:42:11
回答 1查看 999关注 0票数 0

我试图在游戏中生成所有可能的动作,使用递归和java中的树。

我使用的是通用树和递归,我觉得这是很难的。然而,树中的第一代应该填充1个斑点,然后下一代填充2个斑点,然后下一代填充3个点,然后下一代填充4个点,等等。

我的目标是创建一个节点:

代码语言:javascript
复制
       #
      / 
     #-#-#-#-#-#-#-#-#
    / / / / / / / / /
(should be filled) #-#-#-#-#-#-#-#-#

每个子节点有9个兄弟节点。每个兄弟姐妹都有1/9可能的位置。一个'X‘或'O’是交替的,并放置在每个新一代的孩子(在这9个点中的一个)。到最后一代,树应该充满X和O's。

麻烦:我的insertLayer方法被递归地称为无限。当我输入一个计数器来跟踪它是如何增长的时,它被卡在6-8之间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 17:56:01

这个条件总是正确的:

代码语言:javascript
复制
if (gameBoard[i][j] != 'X' || gameBoard[i][j] != 'O')

所以你会永远回溯。

||更改为&&

代码语言:javascript
复制
if (gameBoard[i][j] != 'X' && gameBoard[i][j] != 'O')

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

代码语言:javascript
复制
if (gameBoard[i][j] != ' ')

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52766058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档