• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实现简单的井字棋

    本文实例为大家分享了python实现简单的井字棋的具体代码,供大家参考,具体内容如下

    使用python实现井字棋游戏,没有具体算法,只是用随机下棋简单实现:

    import random
    board = [['+','+','+'],['+','+','+'],['+','+','+']]
    def ma(board):
        if isempty(board):
            a = random.randint(0, 2)
            b = random.randint(0, 2)
            if board[a][b] != 'X' and board[a][b] != 'O':
                print("机器走:")
                board[a][b] = 'O'
                oput(board)
            else:
                ma(board)
        else:
            print("平局")
    def oput(board):
        print("  0 1 2")
        for i in range(3):
            print(i, end=' ')
            for j in range(3):
                print(board[i][j], end=" ")
            print("")
    def winput(i,j):
        if board[i][j] == 'X':
            print("human win")
        else:
            print("machine win")
        return 1
    
    def test(board):
        for i in range(3):
            for j in range(3):
                if board[i][j] != '+':
                    if j == 0:
                        if board[i][j] == board[i][j + 1] == board[i][j + 2]:
                            return winput(i,j)
                    if i == 0:
                        if board[i][j] == board[i + 1][j] == board[i + 2][j]:
                            return winput(i,j)
                    if i == 0 and j == 0:
                        if board[i][j] == board[i + 1][j + 1] == board[i + 2][j + 2]:
                            return winput(i,j)
                    if i == 2 and j == 0:
                        if board[i][j] == board[i - 1][j + 1] == board[i - 2][j + 2]:
                            return winput(i,j)
    
    def isempty(board):
        for i in range(3):
            for j in range(3):
                if board[i][j] == '+':
                    return True
        return False
    def main():
        print("初始棋盘:")
        oput(board)
        flag = 0
        t = input("human first? Y/N  human for X, machine for O\n")
        if t == 'Y':
            while isempty(board):
                print("人走:  ")
                a, b = map(int, input("输入落子纵横坐标: a,b \n").split(','))
                if board[a][b] == '+':
                   board[a][b] = 'X'
                   oput(board)
                   flag = test(board)
                   if flag == 1:
                      break
                else:
                    print("落子位置不对")
                    continue
                ma(board)
                flag = test(board)
                if flag == 1:
                    break
                if isempty(board) == 0 and flag == 0:
                    print("平局")
                    break
        elif t == 'N':
            while isempty(board):
                ma(board)
                flag = test(board)
                if isempty(board) == 0 and flag == 0:
                    print("平局")
                    break
                if flag == 1:
                    break
                print("人走:  ")
                a, b = map(int, input("输入落子纵横坐标: a,b \n").split(','))
                if board[a][b] == '+':
                    board[a][b] = 'X'
                    oput(board)
                    flag = test(board)
                    if flag == 1:
                        break
                else:
                    print("落子位置不对")
                    continue
    
    if __name__ == "__main__":
        main()

    结果:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • python实现简单的井字棋游戏(gui界面)
    • 基于python纯函数实现井字棋游戏
    • Python实现井字棋小游戏
    • python入门之井字棋小游戏
    • python实现简单井字棋小游戏
    • python实现简单井字棋游戏
    • 基于python实现井字棋小游戏
    • Python实现的井字棋(Tic Tac Toe)游戏示例
    • python实现井字棋游戏
    • python实现带界面的井字棋小游戏
    上一篇:python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
    下一篇:python中os.path.join()函数实例用法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实现简单的井字棋 python,实现,简单,的,井字,