pygame while循环无法正常工作

时间:2018-07-08 12:31:08

标签: python-3.x pygame

我正在学习使用python和pygame进行编程,但是我似乎无法理解为什么我的代码无法正常工作。所以我的程序拍摄了这张图片:

enter image description here

然后它洗牌,然后挑选前五张牌,然后涂黑所有不是前五张的牌。该程序可以运行,但是当数字大于38(基本上是第4行中的数字)时,它会将所有行涂黑。

这是我的代码:

import pygame
import random

def card():

    pygame.init()

    black = (0,0,0)

    deck = list(range(51))
    rng = random.Random()
    rng.shuffle(deck)
    first_five_cards = deck[:5]


    x = 0
    y = 0

    c_width = 353 / 13
    c_height = 143 / 4

    surface = pygame.display.set_mode((353,143))
    image = pygame.image.load("cards.png")
    print(deck)   #this is to check if the cards blacked out are the right ones
    print(first_five_cards)  # this just to check 

    surface.blit(image,(0,0))

    while True:
        ev = pygame.event.poll()
        if ev.type == pygame.QUIT:
            break

        n = 0



        while n < 52:
            if n not in first_five_cards:
                x = (n % 13) * c_width
                if n <= 12:
                    y = 0
                if 12 < n <= 25:
                    y = 1 * c_height
                if 25 < n <= 38:
                    y = 2 * c_height
                if 38 < n <= 51:
                    y = 3 * c_height
                pygame.draw.rect(surface,black,(x,y,c_width,c_height))

            n += 1



        pygame.display.flip()

    pygame.quit()


card()

我不知道这仅仅是我的疏忽还是有什么问题。请帮忙。谢谢。

编辑:现在可以使用。这只是我的疏忽。抱歉。

0 个答案:

没有答案