休闲小游戏.1-经典三子棋 Python
Rzen瑞安
2022年01月29日 15:38
收录于文集
共3篇

一串代码,还原生活中常玩的三子棋。

代码块
Python
自动换行
复制代码
info = [['.', '.', '.'],
        ['.', '.', '.'],
        ['.', '.', '.']]

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'

#玩家x下棋
show()
while True: 
    a = input('玩家x,您要把棋子放到第几行:')
    b = input('玩家x,您要把棋子放到第几列:')
    a = int(a)
    b = int(b)
    info[a][b] = 'x'
    show()
    flag = judge()
    if flag == 'x':
        print('玩家x胜利')
        break
    if flag == 'o':
        print('玩家o胜利')
        break
    #玩家o下棋
    a = input('玩家o,您要把棋子放到第几行:')
    b = input('玩家o,您要把棋子放到第几列:')
    a = int(a)
    b = int(b)
    info[a][b] = 'o'
    show()
    flag = judge()
    if flag == 'x':
        print('玩家x胜利')
        break
    if flag == 'o':
        print('玩家o胜利')
        break
复制成功

(注:在填行和列时遵照图中数字(0,1,2))

本代码不需要第三方库!