构建单人井字游戏

Building a single player Tic-Tac-Toe

我已经为 2 位玩家制作了 Tic-Tac-Toe。我将 P1 和 P2 的选择存储在 x 和 y 集中,并检查它们是否存在于获胜条件集中。 我想让它成为单人游戏。我好像想不出如何使P2自动化。

x=set()
y=set()
b=[x,y]
win_con=({0,1,2},{3,4,5},{6,7,8},{0,4,8},{2,4,6},{0,3,6},{1,4,7},{2,5,8})
a=['']*10

def clear():
    for i in range(0,10):
        a[i]=i
        x.clear()
        y.clear()


def grid():
    for x in range(0,3):
        for y in range(0,3):
            if y==2:
                print(a[3*x+y],end='')
            else:
                 print(a[3*x+y],'|',end='')
        if x!=2:
            print('\n--+--+--')

def win():
    for i in range(0,2):
        if b[i] in win_con:
            return 1
    return 0

def play():
    i=0
    clear()
    while i<9:
        grid()
        t=int(input("\nPlayer 1 enters"))
        a[t]='X'
        x.add(t)
        if win()==1:
            print('Player 1 wins')
            break
        grid()
        t=int(input("\nPlayer 2 enters"))
        a[t]='0'
        y.add(t)
        if win()==1:
            print('Player 2 wins')
            break
        i+=2
    if win()==0:
        print("Tie")

    k=input('Play again?')
    if k=='y':
        play()

play()

此外,我将其添加到 github。我没有使用 git,只是上传了文件。它只有在我使用 git 时才有用吗?

https://github.com/sarthakag/Tic-Tac-Toe-Python

听起来您正在尝试为井字游戏制作 ai... 您可以尝试使用 minimax 算法来执行此操作,例如 here。希望这对您有所帮助!
PS:It 最好把代码放在 Whosebug 上