Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
Глава 13 • Осторожно, пришельцы!
# Все пули выводятся позади изображений корабля и пришельцев.
for bullet in bullets:
bullet.draw_bullet()
ship.blitme()
alien.blitme()
# Отображение последнего прорисованного экрана.
pygame.display.flip()
Пришелец выводится после прорисовки корабля и пуль, так что пришельцы будут
находиться на верхнем «слое» экрана. На рис. 13.2 изображен первый пришелец.
После того как первый пришелец появится на экране, мы напишем код для вывода
всего флота.
Построение флота
Чтобы нарисовать флот пришельцев, необходимо вычислить, сколько пришельцев
поместится в одном ряду и сколько рядов поместится по высоте. Сначала мы вы-
числим горизонтальные интервалы между пришельцами и создадим ряд; затем
будет вычислен вертикальный интервал и создан весь флот.
Вычисление количества пришельцев в одном ряду
Чтобы определить, сколько пришельцев помещается в одном ряду, сначала вы-
числим доступное горизонтальное пространство. Ширина экрана хранится в
ai_
settings.screen_width
, но с обеих сторон экрана необходимо зарезервировать
пустые интервалы. Определим их равными ширине одного пришельца. Так как
ширина уменьшается на величину двух интервалов, доступное пространство равно
ширине экрана за вычетом удвоенной ширины пришельца:
available_space_x = ai_settings.screen_width — (2 * alien_width)
Также необходимо зарезервировать интервалы между пришельцами; они будут со-
ставлять одну ширину пришельца. Пространство, необходимое для вывода одного
пришельца, равно его удвоенной ширине: одна ширина для самого пришельца и еще
одна для пустого интервала справа. Чтобы определить количество пришельцев на
экране, разделим доступное пространство на удвоенную ширину пришельца:
number_aliens_x = available_space_x / (2 * alien_width)
Эти вычисления будут включены в программу при создании флота.