117.info
人生若只如初见

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

下面是一个简单的五子棋游戏的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()

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

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe45bAzsIBAFWA1U.html

推荐文章

  • linux的python如何进行进程管理

    在Linux中,可以使用Python的内置库os和subprocess进行进程管理 使用os.system()执行外部命令: import os # 执行外部命令,例如:ls
    os.system("ls") 使用...

  • linux的python怎样进行系统调用

    在Linux中,Python可以通过os和sys库进行系统调用 使用os库: os库提供了许多与操作系统交互的函数。例如,要使用os.system()执行系统命令,可以这样做:
    i...

  • python中set怎样进行集合排序

    在Python中,可以使用sorted()函数对集合(set)进行排序。sorted()函数返回一个排序后的列表(list),而不是集合,因为集合本身是无序的。以下是一个示例:

  • python中set如何进行集合转换

    在Python中,可以使用集合(set)的内置方法进行集合转换。以下是一些常用的集合转换方法: 将列表转换为集合: my_list = [1, 2, 3, 4, 5]
    my_set = set(m...

  • PHP怎么用五角星写出一个倒菱形

    以下是使用PHP代码写出一个倒菱形的五角星:
    $rows = 5; for ($i = 1; $i

  • c语言如何用星号打出菱形

    以下是用C语言打印菱形的代码示例:
    #include int main() { int n, c, k, space = 1; printf("Enter number of rows: "); scanf("%d", &n); space = n - 1;...

  • c语言怎么实现空心菱形

    下面是一个实现空心菱形的C语言代码示例:
    #include int main() { int rows, i, j, space; printf("Enter the number of rows: "); scanf("%d", &rows); //...

  • C++成员函数指针怎么调用

    在C++中,成员函数指针的调用与普通函数指针的调用有所不同,因为成员函数指针需要通过对象来调用。以下是一个简单的示例代码来说明如何调用成员函数指针: