Главная страница
Навигация по странице:

  • Глава 18. Анимированная графика .....................................................................339

  • Глава 19. Обнаружение столкновений ................................................................352

  • Глава 20. Использование звуков и изображений ..............................................369

  • Глава 21. Игра «Ловкач» с графикой и звуком ...................................................381

  • Предметный указатель .........................................................................................410 ОБ АВТОРЕ

  • Для кого эта книга

  • Учим Python, делая крутые игры 2018. Invent your owncomputer gameswith python


    Скачать 6.56 Mb.
    НазваниеInvent your owncomputer gameswith python
    Дата10.12.2022
    Размер6.56 Mb.
    Формат файлаpdf
    Имя файлаУчим Python, делая крутые игры 2018.pdf
    ТипДокументы
    #837554
    страница3 из 39
    1   2   3   4   5   6   7   8   9   ...   39
    Глава 17. Создание графики .................................................................................319
    Установка pygame .......................................................................................................320
    Привет, pygame! ..........................................................................................................320
    Пример запуска pygame-программы «Привет, мир!» ..........................................321
    Исходный код pygame-программы «Привет, мир!» ..............................................322
    Импорт модуля pygame .............................................................................................323
    Инициализация pygame...............................................................................................324
    Настройка окна pygame ...............................................................................................324
    Кортежи ................................................................................................................... 325
    Объекты поверхности .......................................................................................... 326
    Работа с цветом ...........................................................................................................326
    Вывод текста в окне pygame .......................................................................................327
    Использование шрифтов для оформления текста ....................................... 327
    Рендеринг объекта Font ........................................................................................ 328
    Настройка местоположения текста с помощью атрибутов Rect ............... 329
    Заливка цветом объекта Surface..............................................................................331
    Функции рисования pygame ....................................................................................332
    Рисование многоугольника ................................................................................ 332
    Рисование линии ................................................................................................... 333
    Рисование круга ..................................................................................................... 333
    Рисование эллипса ................................................................................................ 334
    Рисование прямоугольника ................................................................................ 334
    Окрашивание пикселей ....................................................................................... 335
    Метод blit() для объектов Surface .........................................................................336
    Вывод объекта Surface на экран ..............................................................................336
    События и игровой цикл ..........................................................................................336
    Получение объектов Event ................................................................................... 337
    Выход из программы ............................................................................................ 338
    Заключение ...................................................................................................................338
    Глава 18. Анимированная графика .....................................................................339
    Пример запуска игры программы ..........................................................................339
    Исходный код программы ........................................................................................339
    Перемещение и контроль отскока блоков ............................................................342
    Создание констант .....................................................................................................343
    Константы для направлений .............................................................................. 344
    Константы для цвета ............................................................................................ 345
    Создание структуры данных блока ........................................................................345

    Оглавление
    13
    Игровой цикл ..............................................................................................................346
    Обработка решения игрока завершить игру ................................................. 346
    Перемещение каждого блока .............................................................................. 347
    Управление отскакиванием блока ..................................................................... 349
    Отображение в окне блоков в новых положениях ....................................... 350
    Отображение окна на экране ............................................................................. 350
    Заключение ...................................................................................................................351
    Глава 19. Обнаружение столкновений ................................................................352
    Пример работы программы .....................................................................................353
    Исходный код программы ........................................................................................353
    Импорт модулей .........................................................................................................356
    Использование объекта Clock для управления скоростью работы программы ....................................................................................................................357
    Настройка окна и структур данных .......................................................................357
    Создание переменных для отслеживания перемещения ..................................359
    Обработка событий ....................................................................................................359
    Обработка события KEYDOWN ................................................................................ 361
    Обработка события KEYUP .................................................................................... 363
    Телепортация игрока .................................................................................................364
    Добавление новых блоков «еды» ............................................................................364
    Перемещение игрока по окну ..................................................................................365
    Отображение блока игрока в окне .................................................................... 366
    Проверка на столкновения ................................................................................. 366
    Отображение блоков «еды» ......................................................................................367
    Заключение ...................................................................................................................368
    Глава 20. Использование звуков и изображений ..............................................369
    Добавление изображений с помощью спрайтов ................................................369
    Графические и звуковые файлы ..............................................................................370
    Пример запуска игры .................................................................................................371
    Исходный код программы ........................................................................................371
    Настройка окна и создание структуры данных ..................................................375
    Добавление спрайта .............................................................................................. 375
    Изменение размера спрайта ............................................................................... 376
    Установка музыки и звуков ......................................................................................376
    Добавление аудиофайлов .................................................................................... 376
    Включение/отключение звука ............................................................................ 377
    Отображение спрайта игрока в окне .....................................................................378
    Проверка на столкновения.......................................................................................378
    Отображение спрайтов вишен в окне ...................................................................379
    Заключение ...................................................................................................................380
    Глава 21. Игра «Ловкач» с графикой и звуком ...................................................381
    Обзор основных типов данных pygame ...................................................................381
    Пример запуска игры «Ловкач» ..............................................................................383
    Исходный код игры «Ловкач» ..................................................................................383
    Импорт модулей .........................................................................................................388
    Создание констант .....................................................................................................389

    Определение функций ...............................................................................................390
    Завершение игры и добавление паузы ............................................................. 390
    Отслеживание столкновений со злодеями ..................................................... 391
    Отображение текста в окне................................................................................. 392
    Инициализация pygame и настройка окна ..........................................................393
    Установка шрифтов, изображений и звуков ........................................................394
    Отображение начального экрана ............................................................................395
    Начало игры .................................................................................................................396
    Игровой цикл ..............................................................................................................398
    Обработка событий клавиатуры ....................................................................... 398
    Обработка событий мыши .................................................................................. 400
    Добавление новых злодеев .......................................................................................401
    Перемещение спрайтов игрока и злодеев .............................................................402
    Реализация чит-кодов ...............................................................................................404
    Удаление спрайтов злодеев.......................................................................................404
    Отображение окна ......................................................................................................405
    Отображение очков игрока ................................................................................ 405
    Отображение спрайтов игрока и злодеев ....................................................... 406
    Проверка на столкновения.......................................................................................406
    Экран окончания игры ..............................................................................................407
    Изменение игры «Ловкач» ........................................................................................408
    Заключение ...................................................................................................................409
    Предметный указатель .........................................................................................410

    ОБ АВТОРЕ
    Эл Свейгарт — разработчик программного обеспечения, автор техниче- ских книг и человек, у которого всегда при себе полотенце*. Он написал не- сколько книг по программированию для начинающих, в том числе «Програм- мирование для детей. Делай игры и учи язык Scratch!». Его книги на языке оригинала можно бесплатно прочитать на сайте www.inventwithpython.com.
    * В оригинале: «…who really knows where his towel is» — отсылка к роману «Автосто- пом по галактике» (1979 г.) Дугласа Адамса, британского писателя, оказавшего влияние на культовое для программистов на Python комедийное шоу «Летающий цирк Монти Пайтона»
    (Monty Python's Flying Circus). — Примеч. ред.

    16
    Введение
    Посвящается Каро
    ВВЕДЕНИЕ
    Когда я в детстве впервые запустил ком- пьютерную игру, меня моментально за- тянуло. Но я хотел не только играть в игры, я хотел их создавать. Я нашел книгу, похожую на эту, которая научила меня писать свои первые программы и игры.
    Это было просто и весело. Первые игры, которые я делал, были простыми и похожими на показанные в этой книге.
    Они не были такими вычурными, как бестселлеры
    Nintendo, которые мне покупали родители, но это были игры, которые я сделал сам.
    Сейчас, став совершеннолетним, я все еще получаю удовольствие от про- граммирования и мне за это еще и платят. Но даже если вы не хотите связы- вать с этим жизнь, программирование — полезный и веселый навык. Он тре- нирует ваш мозг мыслить логически, строить планы и пересматривать свои решения каждый раз, как вы обнаружите ошибку в коде.
    Многие книги, посвященные программированию для начинающих, по- падают под две категории. Первая категория включает книги, которые обу- чают не столь программированию, сколько «программному обеспечению для создания игр» или языкам, которые упрощаются настолько, что предмет изучения уже и нельзя назвать программированием. Вторая категория состо- ит из книг, которые обучают программированию подобно математическому учебнику — со всеми принципами и понятиями и парочкой реальных прило- жений в пример читателю. Эта книга прибегает к иному подходу и учит вас, как программировать с помощью создания видеоигр. Я показываю исходный код для игр и напротив объясняю принцип программирования из примера.
    Такой подход был ключевым для меня, когда я учился программированию.

    Введение
    17
    Чем больше я узнавал, как работают программы, созданные другими людьми, тем больше идей ко мне приходило касательно моих собственных.
    Все, что вам нужно — компьютер, бесплатное программное обеспечение, которое называется интерпретатор Python и эта книга. Как только вы узнае- те, как создавать игры из этой книги, вы сможете разрабатывать игры сами.
    Компьютеры — поразительные механизмы и обучение программирова- нию не такое неподъемное, как сначала кажется. Компьютерная программа — это набор инструкций, которые компьютер может понять, точно так же, как книга с историями — это куча предложений, которые может понять читатель.
    Чтобы создать инструкцию, вы пишете программу на языке, который ком- пьютер понимает. Эта книга научит вас языку программирования Python. Су- ществует множество других языков программирования, которые вы можете освоить, например, BASIC, Java, JavaScript, PHP и C++.
    В детстве я выучил BASIC, но более новые языки программирования типа
    Python учатся гораздо легче. Python также используется профессиональными программистами в работе и любителями в качестве хобби. Вдобавок он аб- солютно бесплатный для установки и использования — вам всего-то нужен
    Интернет, чтобы скачать его.
    Поскольку видеоигры — ничто иное как компьютерные программы, они также состоят из инструкций. Игры, которые вы создадите благодаря этой книге, будут проще сравнительно с играми для Xbox, Paystation или Nintendo.
    В этих играх не будет невероятной графики, потому что они рассчитаны на то, чтобы обучить вас основам кодинга. Они преднамеренно просты, поэто- му вы можете сосредоточиться на обучении программированию. Игры не должны быть сложными, чтобы быть интересными!
    Для кого эта книга?
    Программирование — это не сложно, сложнее найти материалы, которые обучат вас делать интересные вещи с его помощью. Другие книги предостав- ляют слишком много того, что начинающему кодеру не понадобится. Эта книга научит вас программировать собственные игры; вы получите полез- ный опыт и интересные видеоигры, которые сможете продемонстрировать.
    Эта книга для:
    • абсолютных новичков, которые хотят обучиться программированию, даже не имея при этом предыдущего опыта;
    • детей и подростков, которые хотят научиться программированию, создавая игры;
    • взрослых и учителей, которые хотят освоить программирование;
    • кого угодно, от мала до велика, кто хочет научиться программиро- вать, изучая профессиональный язык программирования.

    18
    Введение
    О книге
    В большинстве разделов этой книги вводится и объясняется по одному но- вому игровому проекту. В некоторых главах рассматриваются дополнительные полезные темы, такие как отладка. Новые концепции программирования по мере применения их в играх и главы предназначены для чтения по порядку.
    Вот краткое изложение того, что вы найдете в каждой главе:
    • Глава 1 «Интерактивная среда разработки» пошагово объясняет, как интерактивная среда разработки Python может использоваться для экспериментов с кодом.
    • Глава 2 «Написание программ» объясняет, как писать полноценные программы в редакторе файлов Python.
    • В главе 3 «Игра “Угадай число”» вы запрограммируете первую игру в этой книге, в которой попросите игрока угадать секретное число, а затем дадите подсказки относительно того, насколько его предпо- ложение близко или далеко от правильного ответа.

    В главе 4 «Программа-шутник» вы напишете простую программу, ко- торая рассказывает пользователю несколько шуток.
    • В главе 5 «Игра “Царство драконов”» вы запрограммируете игру для угадывания, в которой игрок должен выбрать между двумя пещера- ми: в одной живет дружелюбный дракон, а в другой — голодный.
    • Глава 6 «Использование отладчика» описывает способы использова- ния отладчика для устранения неполадок в коде.
    • Глава 7 «Проектирование игры “Виселица” с помощью блок-схем» объясняет, как блок-схемы помогают в планировании более длинных программ, таких как игра «Виселица».

    В главе 8 «Написание кода игры “Виселица”» вы напишете игру «Висе- лица», опираясь на блок-схему из главы 7.

    Глава 9 «Доработка игры “Виселица”» расширяет игру «Виселица» но- выми функциями, используя базу данных словаря Python.
    • В главе 10 «Игра “Крестики-нолики”» вы узнаете, как писать игру типа «человек против компьютера», использующую искусственный интеллект.

    В главе 11 «Дедуктивная игра “Холодно-горячо”» вы узнаете, как сде- лать дедуктивную игру, в которой игрок должен угадать секретные числа на основе подсказок.
    • Глава 12 «Декартова система координат» объясняет декартову систе- му координат, которую вы позже будете использовать в играх.
    • В главе 13 «Игра “Охотник за сокровищами”» вы узнаете, как напи- сать игру, в которой игрок прочесывает океан в поисках потерянных сундуков с сокровищами.

    Введение
    1   2   3   4   5   6   7   8   9   ...   39


    написать администратору сайта