构建单人玩的井字游戏

我已经为两人制作了井字游戏。我将玩家1和玩家2的选择分别存储在x和y集合中,并检查它们是否存在于获胜条件集合中。我想将其改为单人游戏,但我似乎想不出如何自动化玩家2的操作。

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=['']*10def 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 0def play():    i=0    clear()    while i<9:        grid()        t=int(input("\n玩家1输入"))        a[t]='X'        x.add(t)        if win()==1:            print('玩家1获胜')            break        grid()        t=int(input("\n玩家2输入"))        a[t]='0'        y.add(t)        if win()==1:            print('玩家2获胜')            break        i+=2    if win()==0:        print("平局")    k=input('再玩一次吗?')    if k=='y':        play()play()

另外,我已经将其上传到GitHub。我没有使用Git,只是上传了文件。如果不使用Git,这是否有用?

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


回答:

听起来你是在尝试为井字游戏制作一个ai…你可以尝试使用minimax算法,示例在这里。希望这对你有帮助!
附注:最好将代码直接放在StackOverflow上

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注