温馨提示×

python最简单的五子棋代码怎么写

小亿
268
2024-06-04 18:13:27
栏目: 编程语言

下面是一个简单的五子棋游戏的Python代码示例:

def print_board(board):
    for row in board:
        print(' '.join(row))

def check_win(board, player):
    for i in range(5):
        for j in range(5):
            if board[i][j] == player:
                # 检查横向是否有五子相连
                if j + 4 < 5 and all(board[i][j+k] == player for k in range(5)):
                    return True
                # 检查纵向是否有五子相连
                if i + 4 < 5 and all(board[i+k][j] == player for k in range(5)):
                    return True
                # 检查斜向是否有五子相连
                if i + 4 < 5 and j + 4 < 5 and all(board[i+k][j+k] == player for k in range(5)):
                    return True
                # 检查反斜向是否有五子相连
                if i + 4 < 5 and j - 4 >= 0 and all(board[i+k][j-k] == player for k in range(5)):
                    return True
    return False

def main():
    board = [['.' for _ in range(5)] for _ in range(5)]
    player = 'X'

    while True:
        print_board(board)
        move = input(f"Player {player}, enter your move (row col): ")
        row, col = map(int, move.split())

        if board[row][col] == '.':
            board[row][col] = player
            if check_win(board, player):
                print_board(board)
                print(f"Player {player} wins!")
                break
            player = 'O' if player == 'X' else 'X'
        else:
            print("Invalid move, try again.")

if __name__ == '__main__':
    main()

这个代码实现了一个简单的五子棋游戏,玩家交替下棋,当有任意一方连成五子时游戏结束并宣布胜利。玩家通过输入行列坐标来下棋,游戏会在控制台输出当前棋盘状态。

0