首先,我是java初学者,我正在尝试模拟井字游戏。我想使用游戏树为所有状态创建一个可能的树。树中的每个节点都将代表状态并使用这棵树来决定下一步要采取的行动。我计划如下接近,
- 接口类包括表示单个移动所需的信息。
抽象/接口类包括以下方法:
一个。返回一个新的状态对象,它表示
应用该移动后游戏的状态。湾。如果当前状态代表其中一名玩家获胜,则该游戏获胜者的 id。
C。返回当前玩家和下一个玩家ID。
在一个类中包括方法,
一个。游戏树中此节点处表示的游戏状态
湾。给定一个 Move,向该节点添加一个子节点。
C。给定一个 Move,返回相应的子节点。
在另一个类中包含方法,
一个。构造一棵具有初始状态的树。
湾。返回游戏的当前状态
C。给定一个移动,更新树,使树的根保持游戏的新状态。
d。为这棵树生成给定深度的子节点。
我知道树的概念(二进制或 avl 或红黑),但我有点困惑从哪里开始以及如何继续。在这种情况下的任何建议都会非常有帮助。
谢谢
辛克斯