首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >抽动脚趾的游戏树

抽动脚趾的游戏树
EN

Stack Overflow用户
提问于 2012-11-09 01:41:25
回答 1查看 2.1K关注 0票数 3

首先,我是一个java初学者,我试图模拟一个TicTacToe游戏。我想用一个游戏树为所有的州创建一个可能的树。树中的每个节点将表示状态,并使用此树来决定下一步的移动。我计划按以下方式来处理,

  1. 接口类包括表示单个移动所需的信息。
  2. 摘要/接口类包括以下方法: 返回一个新的状态对象,该对象表示游戏之后的状态 运用这一招。 如果当前状态代表一名玩家的胜利,则此游戏的胜利者为id。 返回当前玩家和下一个玩家ids。
  3. 在包含方法的类中, 游戏树中此节点表示的游戏状态 在移动时,向该节点添加一个子节点。 如果移动,返回适当的子节点。
  4. 在另一个类中, a.构造具有初始状态的树。 b.返回游戏的当前状态 给出一个动作,更新树,使树的根保持游戏的新状态。 d.为该树生成给定深度的子节点。

我知道树的概念(二进制或avl或红色黑色),但我有点困惑,从哪里开始和如何进行。关于这方面的任何建议都是非常有益的。

谢谢

辛克斯

EN

回答 1

Stack Overflow用户

发布于 2012-12-14 04:57:44

对于一个3x3网格,树是过分的,只需使用一个2D的玩家2D数组来建模场景。若要检查wins,请遍历每行(三行、三列和两条对角线)中的每个单元格。如果这些行中所有的单元格都属于同一个玩家,那么该玩家就赢了。

为了简单起见,这些行可以是一个坐标列表,即

代码语言:javascript
运行
复制
[[[0, 0], [0, 1], [0, 2]],
...
[[0, 0], [1, 1], [2, 2]],
...

FWTW,我正在为一个学校项目在Javascript / ThreeJS中制作一个3D tictactoe游戏,这个方法在4x4x4网格上运行得很好。

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

https://stackoverflow.com/questions/13300931

复制
相关文章

相似问题

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