Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование игр >> Учим Python, делая крутые игры


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 812, книга: Золушка с Чистых прудов
автор: Вера Кузьминична Васильева

Книга "Золушка с Чистых прудов" - увлекательные мемуары легендарной советской актрисы Веры Васильевой. Это история о таланте, упорстве и пути к славе. Васильева, родившаяся в простой семье на Чистых прудах в Москве, преодолела все трудности, чтобы стать одной из самых любимых актрис России. Она начала свою карьеру в театре имени Моссовета, а затем обрела всенародную известность благодаря многочисленным ролям в кино и на телевидении. В своих мемуарах Васильева делится воспоминаниями...

СЛУЧАЙНАЯ КНИГА

Рецидив. Тони Дювер
- Рецидив

Жанр: Проза

Год издания: 2011

Серия: vasa iniquitatis - Сосуд беззаконий

Эл Свейгарт - Учим Python, делая крутые игры

Учим Python, делая крутые игры
Книга - Учим Python, делая крутые игры.  Эл Свейгарт  - прочитать полностью в библиотеке КнигаГо
Название:
Учим Python, делая крутые игры
Эл Свейгарт

Жанр:

Программирование игр, Python

Изадано в серии:

Мировой компьютерный бестселлер

Издательство:

Эксмо

Год издания:

ISBN:

978-5-699-99572-1

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Учим Python, делая крутые игры"

Перед вами — увлекательный самоучитель по языку Python для начинающих. Книга подходит даже читателям с нулевым уровнем. Создавайте собственными руками веселые классические и необычные, продвинутые игры, такие как «Виселица» или «Охотник за сокровищами», — в процессе вы поймете основные принципы программирования и выучите Python играючи!

Читаем онлайн "Учим Python, делая крутые игры". [Страница - 126]

позиции playerRect.
171.

# Отображение прямоугольника игрока.

172.

windowSurface.blit(playerImage, playerRect)

Цикл for в строке 175 отображает спрайт каждого злодея на объекте
windowSurface.
174.

# Отображение каждого злодея.

175.

for b in baddies:

176.

windowSurface.blit(b['surface'], b['rect'])

Каждый элемент в списке baddies — это словарь. Ключи словарей 'surface'
и 'rect' содержат объект Surface с изображением злодея и объект Rect с информацией о его расположении и размере, соответственно.
Теперь, когда на windowSurface все отображено, нам нужно обновить окно,
чтобы игрок мог видеть его содержимое.
178.

pygame.display.update()

Отобразим на экране этот объект Surface, вызвав метод update().

Проверка на столкновения
Код в строке 181 проверяет, столкнулся ли спрайт игрока со спрайтом
какого-либо злодея, путем вызова функции playerHasHitBaddie(). Эта функ-

406

Глава 21

ция вернет значение True, если персонаж игрока столкнулся с любым из злодеев из списка baddies. В противном случае функция возвращает значение
False.
180.

# Проверка, попал ли в игрока какой-либо из злодеев.

181.

if playerHasHitBaddie(playerRect, baddies):

182.
183.
184.

if score > topScore:
topScore = score # установка нового рекорда
break

Если спрайт игрока столкнулся со спрайтом злодея, и если текущее количество очков больше, чем предыдущий рекорд, тогда код в строках 182 и 183
обновляет его. Интерпретатор выходит из игрового цикла в строке 184 и переходит к строке 189, завершая игру.
Во избежание выполнения компьютером игрового цикла настолько быстро, насколько он может (это было бы слишком быстро для игрока, и он бы
сразу же проиграл), мы вызываем метод mainClock.tick(), приостанавливая
игру на очень короткое время:
186.

mainClock.tick(FPS)

Эта пауза будет достаточно длинной, чтобы обеспечить около 40 (значение, хранящееся в переменной FPS) итераций игрового цикла каждую секунду.

Экран окончания игры
Когда игрок проигрывает, воспроизведение фоновой музыки прекращается и исполняется звуковой эффект, свидетельствующий об окончании
игры.

188.

# Отображение игры и вывод надписи 'Игра окончена'.

189.

pygame.mixer.music.stop()

190.

gameOverSound.play()

Код в строке 189 вызывает функцию stop() в модуле pygame.mixer.music для
остановки фоновой музыки. Код в строке 190 вызывает метод play() в объекте Sound, хранящемся в gameOverSound.
Игра «Ловкач» с графикой и звуком

407

Затем код в строках 192 и 193 вызывает функцию drawText(), чтобы вывести текст «ИГРА ОКОНЧЕНА!» на объект windowSurface.

192.

drawText('ИГРА ОКОНЧЕНА!', font, windowSurface, (WINDOWWIDTH / 3), (WINDOWHEIGHT / 3))

193. drawText('Нажмите клавишу для начала новой игры', font, windowSurface, (WINDOWWIDTH / 3) - 120, (WINDOWHEIGHT / 3) + 50)
194.

pygame.display.update()

195.

waitForPlayerToPressKey()

Код в строке 194 вызывает метод update(), чтобы вывести этот объект
Surface на экран. После отображения текста игра останавливается, пока игрок
не нажмет клавишу, вызвав функцию waitForPlayerToPressKey().
После того как игрок нажимает клавишу, интерпретатор выходит из вызова waitForPlayerToPressKey() в строке 195. В зависимости от того, сколько
времени у игрока уходит на то, чтобы нажать клавишу, звуковой эффект
либо продолжает проигрываться, либо нет. Чтобы остановить этот звуковой эффект перед началом новой игры, код в строке 197 вызывает функцию
gameOverSound.stop().

197.

gameOverSound.stop()

Вот наша графическая игра и закончена!

Изменение игры «Ловкач»
Вы можете найти игру слишком простой или слишком сложной. К счастью, ее легко изменить, ведь мы потратили время на использование констант вместо того, чтобы вводить значения напрямую. Теперь все, что
нам нужно сделать для модификации игры — это изменить значения констант.
Например, если вы хотите, чтобы программа в целом выполнялась медленнее, присвойте переменной FPS в строке 8 меньшее значение, например,
20. Это приведет к тому, что спрайты злодеев и игрока будут перемещаться
медленнее, поскольку игровой цикл будет выполняться лишь 20 раз в секунду
вместо 40.
Если хотите замедлить только спрайты злодеев, уменьшите значение переменной BADDIEMAXSPEED, например до 4. Это заставит спрайты всех злодеев перемещаться на количество пикселей в диапазоне от 1 (значение BADDIEMINSPEED)
до 4, а не 1–8, за одну итерацию игрового цикла.

408

Глава 21

Если хотите вместо большого количества маленьких злодеев получить несколько злодеев побольше, увеличьте значение переменной ADDNEWBADDIERATE
до 12, BADDIEMINSIZE до 40, а значение переменной BADDIEMAXSIZE до 80. Теперь
спрайты злодеев добавляются каждые 12 итераций --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Учим Python, делая крутые игры» по жанру, серии, автору или названию:

Большая книга проектов Python. Эл Свейгарт
- Большая книга проектов Python

Жанр: Python

Год издания: 2022

Серия: Библиотека программиста

Python. Чистый код для продолжающих. Эл Свейгарт
- Python. Чистый код для продолжающих

Жанр: Python

Год издания: 2022

Серия: Библиотека программиста

Другие книги из серии «Мировой компьютерный бестселлер»:

Думай как программист: креативный подход к созданию кода. С++ версия. Антон Спрол
- Думай как программист: креативный подход к созданию кода. С++ версия

Жанр: C, C++, C#

Год издания: 2018

Серия: Мировой компьютерный бестселлер

Учим Python, делая крутые игры. Эл Свейгарт
- Учим Python, делая крутые игры

Жанр: Программирование игр

Год издания: 2022

Серия: Мировой компьютерный бестселлер