【问题标题】:Building a single player Tic-Tac-Toe构建单人井字游戏
【发布时间】:2016-03-24 12:22:25
【问题描述】:

我为 2 名玩家制作了井字游戏。我将 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

【问题讨论】:

    标签: python-3.x artificial-intelligence


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 2019-12-07
      • 2015-01-08
      相关资源
      最近更新 更多