想要创建一个简单的国际象棋游戏,却陷入困境

问题描述 投票:0回答:1

我需要帮助设置获胜条件的写入逻辑 “当任一玩家的王到达第 8 行时,游戏结束,除非轮到白方且黑方的王位于第 7 行,则黑方有一轮到达第 8 行以平局。”

我已经尝试过了,它一直给我带来吸引力

def check_endgame():
    for i, row in enumerate(board):
        if 'WK' in row:
            if i == 7:
                return "White Wins!"
        if 'BK' in row:
            if i == 7:
                return "Black Wins!" if board[6].count('WK') == 0 else "Draw!"
    return None

我也尝试过这个,但游戏开始时白棋获胜。

def check_endgame():
    for i, row in enumerate(board):
        if 'WK' in row:
            if i == 7:
                if 'BK' in board[6]:
                    return "Draw!"
                else:
                    return "White Wins!"
        if 'BK' in row:
            if i == 7:
                return "Black Wins!"
    return None
python computer-science chess python-chess
1个回答
0
投票

这正如您所描述的那样,尽管它不检查白色的回合与黑色的回合。你还没有告诉我们这件事。

def check_endgame():
    if 'WK' in board[7]:
        if 'BK' in board[6]:
            return "Draw!"
        else:
            return "White Wins!"
    if 'BK' in board[7]:
        return "Black Wins!"
    return None
© www.soinside.com 2019 - 2024. All rights reserved.