如何使用for循环将列表图像映射到pygame中的屏幕上?

时间:2019-07-01 21:37:42

标签: python pygame blackjack

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

1 个答案:

答案 0 :(得分:0)

a.get('b.c', x)