在已经创建的正方形上绘制一个圆圈 - pygame

问题描述 投票:-2回答:1

我目前正在尝试在游戏中制作一个游戏棋盘游戏,这需要在棋盘上的正方形中获得棋子然而,当我运行时,只有棋盘会出现,但没有一块。在这个程序中,我只做了一个黑色的碎片,它只是一个普通的黑色圆圈。我想知道是否有人知道如何在已经绘制的方块上绘制圆圈。

def drawPlayer1Circle(row):
    if (row<=2):
        return True
    else:
        return False
def drawPlayer2Circle(row):
    if (row>=5) and (row%2!=0 and column%2==0) and (row%2!=0 and column%2!=0):
        return True
    else:
        return False

def drawCircle():

    pygame.draw.circle(screen,BLACK,[((MARGIN + WIDTH) * column + MARGIN)+xDistanceFromEdge,
        (MARGIN + HEIGHT) * row + MARGIN,
        WIDTH/2,
            HEIGHT/2],WIDTH/2)
def drawBoard(BLACK,WHITE):# Draw the grid
    for row in range(8):
        for column in range(8):
            if row%2==0 and column%2==0:
                color = BLACK
            if row%2!=0 and column%2==0:
                color = WHITE
                if drawPlayer1Circle(row)==True:
                    drawCircle()
            if row%2==0 and column%2!=0:
                color=WHITE
            if row%2!=0 and column%2!=0:
                color= BLACK
                if drawPlayer1Circle(row)==True:
                    drawCircle()
            pygame.draw.rect(screen,
                             color,
                             [((MARGIN + WIDTH) * column + MARGIN)+xDistanceFromEdge,
                              (MARGIN + HEIGHT) * row + MARGIN,
                              WIDTH,
                              HEIGHT]) 
python pygame geometry
1个回答
0
投票

看起来你正在画板前画圆圈,所以电路板被画在顶部。另外,你应该将rowcolumn传递给函数drawCircle,这段代码正在不必要地重复:

        if row%2==0 and column%2==0:
            color = BLACK
        if row%2!=0 and column%2==0:
            color = WHITE
            if drawPlayer1Circle(row)==True:
                drawCircle()
© www.soinside.com 2019 - 2024. All rights reserved.