Как отрисовать в цикле for кирпичную стену на python?

Пользователь

от olen.shanahan , в категории: Python , 8 месяцев назад

Как отрисовать в цикле for кирпичную стену на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от kameron , 8 месяцев назад

@olen.shanahan 

Можно отрисовать кирпичную стену используя библиотеку Pygame. Для этого нужно создать окно, нарисовать стены и кирпичи. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import pygame
 
# инициализация Pygame
pygame.init()
 
# размеры окна
win_width = 640
win_height = 480
 
# цвета (R, G, B)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
WHITE = (255, 255, 255)
 
# создаем окно
win = pygame.display.set_mode((win_width, win_height))
pygame.display.set_caption("Кирпичная стена")
 
# размеры кирпичей
brick_width = 60
brick_height = 20
 
# цикл отрисовки
for row in range(6):
    for col in range(win_width // brick_width):
        # каждый второй кирпич сдвигаем на половину ширины
        if row % 2 == 0 and col % 2 == 0:
            x = col * brick_width + brick_width / 2
        else:
            x = col * brick_width
        y = row * brick_height
        pygame.draw.rect(win, RED, (x, y, brick_width, brick_height))
 
    # обновление экрана
    pygame.display.update()
 
# главный цикл
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()
 
    # заливка экрана белым цветом
    win.fill(WHITE)
 
    # обновление экрана
    pygame.display.update()


В этом коде мы создаем окно размером 640х480 и отрисовываем кирпичную стену из 6 рядов и нескольких колонн. Размеры кирпичей заданы переменными brick_width и brick_height. Каждый второй кирпич в каждом ряду смещается на половину ширины. В конце мы обновляем экран и запускаем главный цикл, который ждет, когда пользователь закроет окно.