井字游戏计算机移动



这是Python中井字游戏中的计算机移动代码:

def computermove(board,computer,human):
    movecom=''
    rmoves=rd(0,8)
    for movecom in legalmoves(board):
        board[movecom]=computer
        if winner(board)==computer: 
            return movecom
        board[movecom]=''
    for movecom in legalmoves(board):
        board[movecom]=human
        if winner(board)==human:  
            return movecom
        board[movecom]=''
    while rmoves not in legalmoves(board):
       rtmoves=rd(0,8)
    return rmoves

在 for 循环中board[movecom]=''有什么用。

代码似乎尝试了不同的动作,并将每个棋盘位置设置为计算机或人类,并查看这是否是一个成功的动作。

假设legalmoves(board)返回一个已经为空的仓位列表(设置为 ''),则board[movecom]=''行将板再次重置为空值。

就个人而言,我会更改winner()函数以采用额外的参数来设置额外的人类或计算机位置,以测试这是否是额外的位置是否构成获胜的举动,而不是用试验位置更改棋盘。

相关内容

最新更新