https://imgur.com/a/HwKheQT 我试图使用一个for循环在pygame中将一连串的卡片显示在屏幕上。我不确定我做的方法是否正确,但我想不出其他任何方法。该图显示了问题所在,重复了列表中的第二张卡片,我不知道为什么。 仅出于以下代码的某些上下文。 player是Player()对象的列表。玩家对象的属性之一是手,手是具有and图像属性的Card()对象的列表。我可以将它们单独显示在屏幕上,但是当我尝试使用for循环时,它将复制第二张卡。我不知道为什么。
我可以逐个显示图像,但是当我尝试使用for循环时会出现问题。
def game():
global start
deck = Deck()
deck.create_deck()
deck.shuffle()
deck.deal()
seats = [
(50,250),(60,265), #seat 1
(175,380),(185,395), #seat 2
(300,450),(310,465), #seat 3
(400,450),(410,465), #seat 4
(600,465),(610,480), #seat 5
(730,375),(740,390) #seat 6
]
win.blit(table,(0,0))
index = 0
while game_on:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if start:
for player in players:
win.blit(pygame.transform.scale(player.hand[0].img,(card_size)),(seats[index]))
if index == 0:
index = 1
win.blit(pygame.transform.scale(player.hand[0].img,(card_size)),(seats[index]))
index+=1
if index >= 2*len(players):
start = False
答案 0 :(得分:0)
a.get('b.c', x)