М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет214/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   210   211   212   213   214   215   216   217   ...   334
Байланысты:
Изучаем Python

УПРАЖНЕНИЯ
13.6. Конец игры: 
в упражнении «Боковая стрельба» в коде из упражнения 13.5 (с. 285) 
подсчитывайте, сколько пришельцев было сбито игроком и сколько раз произошло стол-
кновение с кораблем. Определите разумное условие завершения игры и останавливайте 
игру при возникновении этой ситуации.


292
Глава 13 • Осторожно, пришельцы!
Итоги
В этой главе вы научились добавлять в игру большое количество одинаковых 
элементов на примере флота пришельцев. Вы узнали, как использовать вложен-
ные циклы для создания сетки с элементами, а также привели игровые элементы 
в движение, вызывая метод 
update()
каждого элемента. Вы научились управлять 
перемещением объектов на экране и обрабатывать различные события (например, 
достижение края экрана). Вы также узнали, как обнаруживать коллизии и реаги-
ровать на них (на примере попадания снарядов в пришельцев и столкновения при-
шельцев с кораблем). В завершение главы рассматривалась тема ведения игровой 
статистики и использования флага 
game_active
для проверки окончания игры.
В последней главе этого проекта будет добавлена кнопка 
Play
, чтобы игрок мог 
самостоятельно запустить свою первую игру, а также повторить игру после ее за-
вершения. После каждого уничтожения вражеского флота скорость игры будет 
возрастать, а мы реализуем систему подсчета очков. В результате вы получите 
полностью работоспособную игру.


14
Ведение счета
В этой главе построение игры Alien Invasion будет завершено. Мы добавим кнопку 
Play
для запуска игры по желанию игрока или перезапуска игры после ее завер-
шения. Мы также изменим игру, чтобы она ускорялась при переходе игрока на 
следующий уровень, а также реализуем систему подсчета очков. К концу главы 
вы будете знать достаточно, чтобы заняться разработкой игр, сложность которых 
нарастает по ходу игры и в которых реализована система подсчета очков.
Добавление кнопки Play
В этом разделе мы добавим кнопку 
Play
, которая отображается перед началом игры 
и появляется после ее завершения, чтобы игрок мог сыграть снова.
В текущей версии игра начинается сразу же после запуска 
alien_invasion .py
. После 
очередных изменений игра будет запускаться в неактивном состоянии и предла-
гать игроку нажать кнопку 
Play
для запуска. Для этого включите следующий код 
в метод 
__init__()
класса 
GameStats
:
game_stats.py
def __init__(self, ai_game):
"""Инициализирует статистику."""
self.settings = ai_game.settings
self.reset_stats()
# Игра запускается в неактивном состоянии.
self.game_active = False
Итак, программа запускается в неактивном состоянии, а игру можно запустить 
только нажатием кнопки 
Play
.
Создание класса Button
Так как в Pygame не существует встроенного метода создания кнопок, мы напишем 
класс 
Button
для создания заполненного прямоугольника с текстовой надписью. 


294

Достарыңызбен бөлісу:
1   ...   210   211   212   213   214   215   216   217   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет