python-3.x 基于井字游戏结果制作多块板的困惑

zbdgwd5y  于 2023-03-13  发布在  Python
关注(0)|答案(1)|浏览(138)

我目前正在上一门课,我正在做一个井字游戏的人工智能项目。我正在做一个结果函数,它会从一个集合中获取未播放空间的可能结果(),它将为每个元组打印一个纸板(i,j),它是整个集合的一个元组,i代表行,j代表单元格。我可以深度复制棋盘,并通过我的动作定义创建一个包含棋盘可能结果的变量。我在从我的动作集()中取出每个元组并为每个元组创建一个棋盘时遇到了麻烦。
这是目前我尝试到目前为止只返回一个板与所有的空白空间填充,这是我不想要的。我想要多个板只填充一个空间出整个集:

def result(board, action):
    #making a set variable with the actions definition which prints possible outcomes
    action = actions(board)
   
    
    #change board depending on action
    for i,j in action:
        if player(board) == X:
            board[i][j] = X
        else:
            board[i][j] = O
        
    return board

这是来自操作定义的操作集的代码

action = actions(board)

请不要给予我真实的的答案,我只是需要帮助和推动,以便能够输出多个板,无论是一个系统,内置功能等。

gdrx4gfi

gdrx4gfi1#

请注意,result()函数采用board(一个2 x 2阵列),并且只有1个action(给定为元组(i, j),其中iboard上的行,jboard上的列)作为参数,您所要做的就是制作给定board的副本,播放该移动aka action,即返回应用了action/移动board的副本。
您可以使用player()函数来确定要玩哪个玩家。
对于其他产品,您可以在这里找到规格:https://cs50.harvard.edu/ai/2020/projects/0/tictactoe/#understanding

相关问题