aiaiask.com©

开花即结果 提问即答案

五子棋代码
原始问题:

五子棋代码

以下是一个简单的五子棋代码,使用Python编写:

import numpy as np

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

def check_win(board, x, y, player):
    directions = [(-1, -1), (-1, 0), (-1, 1), (0, 1)]
    for dx, dy in directions:
        count = 1
        for i in range(1, 5):
            nx, ny = x + i * dx, y + i * dy
            if 0 <= nx < 15 and 0 <= ny < 15 and board[nx][ny] == player:
                count += 1
            else:
                break
        for i in range(1, 5):
            nx, ny = x - i * dx, y - i * dy
            if 0 <= nx < 15 and 0 <= ny < 15 and board[nx][ny] == player:
                count += 1
            else:
                break
        if count >= 5:
            return True
    return False

def main():
    board = np.array([["." for _ in range(15)] for _ in range(15)])
    player = "X"
    while True:
        print_board(board)
        x, y = map(int, input(f"{player}的回合,请输入落子坐标(x y):").split())
        if board[x][y] != ".":
            print("该位置已有棋子,请重新输入!")
            continue
        board[x][y] = player
        if check_win(board, x, y, player):
            print_board(board)
            print(f"{player}获胜!")
            break
        player = "O" if player == "X" else "X"

if __name__ == "__main__":
    main()

这个代码实现了一个简单的五子棋游戏,玩家可以在命令行中输入坐标来进行游戏。游戏会在有一方获胜时结束。

五子棋代码
https://www.aiaiask.com/ask/46818.html
AI / 模型DeepSeek
时间 / DATESeptember 10, 2023, 6:14 PM
语言zh-CN
IP / 区域重庆市重庆市