Python 如何使用数组制作矩形,以便一次在屏幕上显示多个?

Python 如何使用数组制作矩形,以便一次在屏幕上显示多个?,python,arrays,pygame,rectangles,Python,Arrays,Pygame,Rectangles,这个标题不言自明。我想知道如何用python为这个俄罗斯方块游戏创建一个带有数组的矩形 代码如下: screen = pygame.display.set_mode((400,800)) #Rectangle Variables x = 200 y = 0 width = 50 height = 50 thickness = 5 speed = 1 #Colors red = (255,0,0) white = (255,255, 255) green = (0,255,0) blue = (

这个标题不言自明。我想知道如何用python为这个俄罗斯方块游戏创建一个带有数组的矩形

代码如下:

screen = pygame.display.set_mode((400,800))

#Rectangle Variables
x = 200
y = 0
width = 50
height = 50
thickness = 5
speed = 1
#Colors
red = (255,0,0)
white = (255,255, 255)
green = (0,255,0)
blue = (0,0,255)
while(True):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit (); sys.exit ();
    #These lines ^ make the user able to exit out of the game window
    y = y+1
    pygame.draw.rect((screen) , red, (x,y,width,height), thickness)
    pygame.display.update() 

如果您只想将矩形添加到数组中,则只需执行以下操作:

rectangles = []
while(True):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit (); sys.exit ();
    #These lines ^ make the user able to exit out of the game window
    y = y+1
    rectangles.append(pygame.draw.rect((screen) , red, (x,y,width,height), thickness))
    pygame.display.update() 

如果您有带位置的列表,则使用
for
循环来绘制它

这里的位置以像素为单位

# --- constants --- (UPPER_CASE_NAMES)

WIDTH = 50
HEIGHT = 50 
RED = (255,0,0)

# --- main ---

rectangles_XY = [ (0, 0), (50, 0), (100, 0) ]

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            # PLEASE, don't put all in one line 
            # it makes code less readable.
            pygame.quit()
            sys.exit ()

    for x, y in rectangles_XY:
        pygame.draw.rect(screen, RED, (x, y, WIDTH, HEIGHT), 0)

    pygame.display.update() 
此处位置为单元格位置(列、行)


请隔离您遇到的问题,而不是转储代码块并说明如何执行此操作?没问题,我只是更改了它。您必须说明隔离的问题是什么。我们不会为您编写新代码,您会隔离一个问题/错误,然后我们会修复它。问题是我不知道怎么做。到目前为止,我的代码可以正常工作,但我不知道如何包含一个数组来创建多个矩形。使用
for
循环从数组/列表中获取元素,并将其与
draw.rect()一起使用。
是的,我在现有代码的其他地方列出了维度和变量。我想知道如何设置带有数组的矩形,这样我就可以一次创建多个,您需要添加更多的代码来向我们展示。如果你做了一个循环,在这个循环中,你可以在集合X和Y上进行迭代,你可以直接做它们variables@SeanMalhotra我更新了我的答案,这样可能会有帮助,你能解释一下你需要什么,因为它有点含糊不清吗?
# --- constants --- (UPPER_CASE_NAMES)

WIDTH = 50
HEIGHT = 50 
RED = (255,0,0)

# --- main ---

rectangles = [ (0, 0), (1, 0), (2, 0) ]

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            # PLEASE, don't put all in one line 
            # it makes code less readable.
            pygame.quit()
            sys.exit ()

    for column, row in rectangles:
        x = column * WIDTH
        y = row * HEIGHT
        pygame.draw.rect(screen, RED, (x, y, WIDTH, HEIGHT), 0)

    pygame.display.update()