以下是一个Python代码实现三子连珠游戏:

# 定义棋盘大小
BOARD_SIZE = 15

# 定义棋盘
board = [[0] * BOARD_SIZE for _ in range(BOARD_SIZE)]

# 定义棋子颜色
BLACK = 1
WHITE = 2

# 定义当前轮到哪个玩家下棋
current_player = BLACK

# 判断一个位置是否在棋盘内
def in_board(x, y):
    return x >= 0 and x < BOARD_SIZE and y >= 0 and y < BOARD_SIZE

# 判断一个玩家在某个位置下棋是否能够连成三子
def is_win(player, x, y):
    # 定义四个方向,每个方向都有两个坐标偏移量
    directions = [[[0, 1], [0, -1]], [[1, 0], [-1, 0]], [[1, 1], [-1, -1]], [[1, -1], [-1, 1]]]
    for direction in directions:
        count = 1
        for offset in direction:
            dx, dy = offset
            nx, ny = x + dx, y + dy
            while in_board(nx, ny) and board[nx][ny] == player:
                count += 1
                nx += dx
                ny += dy
        if count >= 3:
            return True
    return False

# 打印棋盘
def print_board():
    for row in board:
        print(' '.join(str(x) for x in row))

# 开始游戏
while True:
    # 打印棋盘和当前玩家提示
    print_board()
    if current_player == BLACK:
        print("现在轮到黑方下棋")
    else:
        print("现在轮到白方下棋")
    # 等待玩家输入坐标
    x, y = map(int, input("请输入坐标(以空格分隔):").split())
    # 检查当前位置是否已经有棋子
    if board[x][y] != 0:
        print("该位置已经有棋子,请重新输入")
        continue
    # 在当前位置放置棋子
    board[x][y] = current_player
    # 检查是否有玩家连成三子
    if is_win(current_player, x, y):
        print_board()
        if current_player == BLACK:
            print("黑方连成三子,游戏结束")
        else:
            print("白方连成三子,游戏结束")
        break
    # 切换到下一个玩家
    current_player = BLACK if current_player == WHITE else WHITE

运行该代码,即可进行三子连珠游戏。玩家依次输入要下棋的坐标,程序会自动判断棋子是否已经下在了合法位置,并且会自动判断是否有玩家连成了三子。如果有玩家连成了三子,游戏就结束了。

写一个三子连珠代码

原文地址: https://www.cveoy.top/t/topic/b75L 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录