猫史档案馆


【Python作品分享】井字棋

用户:swordgunswordgun查看:0 回复:0 评论:0 创建时间:2022-07-25T12:19:37


【作品展示】

center_image

 

【作品介绍】

w

 

【作品源代码】

info = [['.', '.', '.'], ['.', '.', '.'], ['.', '.', '.']]

def x():
    a = input('玩家x,您要把棋子放到第几行:')
    b = input('玩家x,您要把棋子放到第几列:')
    a = int(a)
    b = int(b)
    if a < 3 and b < 3:
            info[a][b] = 'x'
            show()
            flag = judge()
            if (flag == 'x'):
                print('玩家x胜利')
                break
            if (flag == 'o'):
                print('玩家o胜利')
                break
def o():
    a = input('玩家o,您要把棋子放到第几行:')
    b = input('玩家o,您要把棋子放到第几列:')
    a = int(a)
    b = int(b)
    if a < 3 and b < 3:
        info[a][b] = 'x'
        show()
        flag = judge()
        if (flag == 'x'):
            print('玩家x胜利')
            break
        if (flag == 'o'):
            print('玩家o胜利')
            break

def show():

    print('  0 1 2')
    for i in range(3):
        print(i, info[i][0], info[i][1], info[i][2])

def judge():

    # 检查斜线1
    if (info[0][0] == info[1][1] and info[1][1] == info[2][2]):
        if (info[0][0] != '.'):
            return info[0][0]
    # 检查斜线2
    if (info[0][2] == info[1][1] and info[1][1] == info[2][0]):
        if (info[0][2] != '.'):
            return info[0][2]
    # 检查横排
    for i in range(3):
        if (info[i][0] == info[i][1] and info[i][1] == info[i][2]):
            if (info[i][0] != '.'):
                return info[i][0]
    # 检查竖排
    for i in range(3):
        if (info[0][i] == info[1][i] and info[1][i] == info[2][i]):
            if (info[0][i] != '.'):
                return info[0][i]
    return 'y'

show()
while True:
    x()
    # ♥♥♥♥♥♥在这里编写玩家o下棋的代码哦^_^
    y()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页