Книга «Изучаем Python»



Pdf көрінісі
бет182/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   178   179   180   181   182   183   184   185   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 14 • Ведение счета
 
sb.prep_score()
sb.prep_high_score()
sb.prep_level()
# Очистка списков пришельцев и пуль.
aliens.empty()
bullets.empty()
...
Определению 
check_play_button()
необходим объект 
sb
. Чтобы сбросить изобра-
жения на экране, после сброса игровых настроек следуют вызовы 
prep_score()

prep_high_score()
и 
prep_level()
.
Затем объект 
sb
передается 
check_events()
, чтобы объект 
Scoreboard
был доступен 
для 
check_play_button()
:
game_functions.py
def check_events(ai_settings, screen, stats, sb, play_button, ship, aliens,
bullets):
"""Обрабатывает нажатия клавиш и события мыши."""
for event in pygame.event.get():
if event.type == pygame.QUIT:
...
elif event.type == pygame.MOUSEBUTTONDOWN:
mouse_x, mouse_y = pygame.mouse.get_pos()
 
check_play_button(ai_settings, screen, stats, sb, play_ 
button,
ship, aliens, bullets, mouse_x, mouse_y)
Определение 
check_events()
должно получать 
sb
в параметре, чтобы при вызове 
check_play_button()
можно было передать 
sb
в аргументе 

.
Остается обновить вызов 
check_events()
в 
alien_invasion .py
, чтобы в нем также 
передавался объект 
sb
:
alien_invasion.py
# Запуск основного цикла игры.
while True:
gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
aliens, bullets)
...
Теперь количество пройденных уровней отображается на экране (рис. 14.5).
ПРИМЕЧАНИЕ
В некоторых классических играх выводимая информация снабжается текстовыми метками: «Уро-
вень», «Рекорд» и т . д . Мы эти метки опустили, потому что смысл каждого числа понятен каждому, 
кто сыграл в Alien Invasion . Если вы включите эти метки, добавьте их в строки непосредственно 
перед вызовами font .render() в Scoreboard .


Подсчет очков


Достарыңызбен бөлісу:
1   ...   178   179   180   181   182   183   184   185   ...   266




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

    Басты бет