Различные шаблоны, использующие прямоугольник в Pygame - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь распечатать шаблон. Pattern

В C ++, когда мы печатаем шаблон, используя '*', мы печатаем пространство, когда мы хотим напечатать шаблон в определенном месте.Но в pygame с использованием прямоугольника мы хотим, чтобы координаты [x, y] нарисовали его на экране.Как вы можете видеть в шаблоне, я хочу 4 блока пространства слева, затем нарисуйте один прямоугольник, а во втором ряду 3 блока пространства, прежде чем рисовать два прямоугольника и т. Д. Также там должна быть симметрия.Я не могу нарисовать это точно.Пожалуйста, помогите мне.

Ниже приведен мой код -:

import pygame

pygame.init()
screen_width = 580
screen_height = 650

screen = pygame.display.set_mode((screen_width,screen_height))
aqua = 0,255,255

brick_width = 60
brick_height = 20
bricks = []
rows = 5
k = 4

space = 4
for i in range(rows):
    for j in range(5,space,-1):
        bricks.append(pygame.Rect((j-1)*(brick_width + k),i * (brick_height+2),brick_width,brick_height))
    space -= 1

done = False

while not done:
        for event in pygame.event.get():
                if event.type == pygame.QUIT:
                        done = True

        for i in range(len(bricks)):
            pygame.draw.rect(screen,aqua,bricks[i])
        pygame.display.update()

Вывод, который я получаю, это: Вывод

1 Ответ

0 голосов
/ 30 мая 2019

Я рекомендую посмотреть этот учебник и, в частности, разделы, в которых упоминается метод get_rect ().

https://inventwithpython.com/makinggames.pdf

В общем, похоже, что вам нужны объекты Rect. Они содержат всю информацию о положении и размерах для данного объекта, которая позволяет вычислить обнаружение попадания и тому подобное. С помощью оператора blit () и изображения вы также можете представить эти прямоугольники на экране.

Посмотрите эту книгу, так как она начинается с самых основ пигмеи с примерами. Хотя некоторые части могут показаться утомительными, крайне важно, чтобы вы понимали, как работает каждый объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...