Так что в основном я работаю над карточной игрой с четырьмя игроками.У каждого игрока есть 9 карт.Объекты карт хранятся в p1Images
, p2Images
, p3Images
, p4Images
.Я вижу только свои карты (player1
).Поэтому, когда я нажимаю на одну из моих карт, она будет размещена в центре экрана.Моя проблема в том, что в основном цикле, когда я рисую все изображения, иногда это не работает, потому что, например, я играю p1Images[7]
, рисование начинается с индекса 0, поэтому индекс 7 будет нарисован позже, что приведет к тому, чтоКарты player2
, 3
, 4
будут находиться под картой p1Images[7]
.Поэтому, когда я нажимаю SPACE, кажется, ничего не происходит, потому что p1Images[7]
скрывает карты под ним.Как я могу решить это?
def placeCard(player):
card = player.hand[0]
player.play(0)
card.positionX = cardPlaceX+5
card.positionY = cardPlaceY+10
while True:
...
for e in pygame.event.get():
if e.type == QUIT:
pygame.quit()
sys.exit()
if e.type == MOUSEBUTTONDOWN:
mx,my = pygame.mouse.get_pos()
for i in range(0,9):
if(mx>=p1Images[i].startposX and mx<=p1Images[i].startposX+80 and my>= p1Images[i].startposY and my<=p1Images[i].startposY+200):
p1Images[i].positionX = cardPlaceX + 5
p1Images[i].positionY = cardPlaceY + 10
placedCardNumber = 1
if e.type == KEYDOWN:
if (e.key == K_SPACE and placedCardNumber == 1):
placeCard(player2)
if (e.key == K_SPACE and placedCardNumber == 2):
placeCard(player3)
if (e.key == K_SPACE and placedCardNumber == 3):
placeCard(player4)
placedCardNumber += 1
if(placedCardNumber == 4):
placedCardNumber = 0
for i in range(0,9):
drawingCard = pygame.image.load(p1Images[i].path)
DISPLAYSURF.blit(drawingCard, (p2Images[i].positionX, cardImages[i].positionY))
drawingCard2 = pygame.image.load(p2Images[i].path)
DISPLAYSURF.blit(drawingCard2, (p2Images[i].positionX, p2Images[i].positionY))
drawingCard3 = pygame.image.load(p3Images[i].path)
DISPLAYSURF.blit(drawingCard3, (p3Images[i].positionX, p3Images[i].positionY))
drawingCard4 = pygame.image.load(p4Images[i].path)
DISPLAYSURF.blit(drawingCard4, (p4Images[i].positionX, p4Images[i].positionY))