博弈树—井字棋

  • 创建根节点

①创建功能

def create_node(board):
    node = {
            'board':board,
            'children':[]
}
    return node

②使用该功能创建根节点
③在根节点的基础上,创建子节点

  • 生成子节点数据

①找到所有空位置 ②复制父节点数据 ③在某个位置落子
empty_pos 找到所有空位置
copy.deepcopy 复制父节点数据

  • 递归生成&追加子节点

通过递归的方式,找到树中每个节点的子节点
递归可以通过雇人去寻找子节点
追加append()

  • 落子顺序

✖==●先✖
✖>●先●

  • 结束条件

①行、列、对角线相同为赢(结束)
②没有空位置且没有输赢为平(结束)
③不符合①②为未下完(继续)

发表评论


欢迎大家光临我的博客!