July 15, 2025/6 阅读
博弈树—井字棋
- 创建根节点
①创建功能
def create_node(board):
node = {
'board':board,
'children':[]
}
return node
②使用该功能创建根节点
③在根节点的基础上,创建子节点
- 生成子节点数据
①找到所有空位置 ②复制父节点数据 ③在某个位置落子
empty_pos 找到所有空位置
copy.deepcopy 复制父节点数据
- 递归生成&追加子节点
通过递归的方式,找到树中每个节点的子节点
递归可以通过雇人去寻找子节点
追加append()
- 落子顺序
✖==●先✖
✖>●先●
- 结束条件
①行、列、对角线相同为赢(结束)
②没有空位置且没有输赢为平(结束)
③不符合①②为未下完(继续)