Введение
Я без труда узнал картинку на экране: это было лицо - мое собственное лицо.
От грубой прорисовки оно не переставало быть моим. С холодным любопытством
профессионала я следил за тем, как на этом лице, словно разрываемом чем-то изнутри, постепенно пропадало человеческое выражение. Наконец, из моей головы
на экране выбрался инопланетный пришелец, и голос из колонок спросил: «Хочешь
увидеть это еще раз?~
Нет, то был не кошмарный сон, а моя работа. Я трудился в компании, которая
разрабатывала и выпускала компьютерные игры, и вот в первом релизе одной нашей игры мне пришлось «торговать лицом~. Смысл этой приключенческой забавы
состоял в том, чтобы поймать указателем мыши картинку, хаотично движущуюся
по экрану. Если игрок не укладывался в отведенное время ... в общем, происходили
уже известные вам события.
В другой период своей жизни я работал программистом крупного интернетсервиса и время от времени переезжал из города в город. Казалось бы, две столь
несхожие линии в карьере, но та база, которая позволила мне в обоих случаях добиться успеха, была заложена еще в детстве, когда я на своем домашнем компьютере начал писать простые игры.
Цель этой книги - научить вас языку программирования Python тем же самым путем, то есть через программирование несложных игр. Учиться, создавая
свои собственные развлекательные программы, - одно удовольствие. Несмотря на развлекательный характер примеров, демонстрируется вполне серьезная
техника программирования.
В этой книге изложены все те основополагающие
темы, которые содержатся в большинстве руководств для начинающих программистов, и освещается еще множество вопросов. В частности, я буду обращать
ваше внимание на те идеи и методы, которые находят применение в типичных
проектах.
Если в программировании вы новичок, то ваш выбор можно только одобрить. Python - лучший вариант для начинающих. У него ясный и простой синтаксис,
который позволит вам очень скоро начать писать полезные программы. Кроме того,
у Python имеется интерактивный режим с возможностью тестирования свежих
идей буквально на лету.
Если у вас уже есть опыт программирования, вы тоже на верном пути. Python
располагает всей той мощью и гибкостью, которую можно ожидать от современного объектно-ориентированного языка. Но при несомненной мощи Python, программы на нем пишутся удивительно быстро. В сущности, путь от идеи к компьютерной
реализации сокращен настолько, что Python даже называют языком «программирования со скоростью мысли~.
28 Введение
Как и любое хорошее руководство, эта книга начинается с самого начала. В первую очередь я намереваюсь рассмотреть установку интерпретатора Python под
Windo\vs. Вслед за тем я буду постепенно, шаг за шагом, вводить новые понятия
и идеи. Каждый новый элемент демонстрируется в небольшой программе. К концу
изучения этой книги вы освоите несколько тем, названия которых, возможно, пока
звучат для вас необычно: структуры данных, работа с файлами, исключения, объектно-ориентированная разработка, программирование GUI и мультимедиа. Я надеюсь познакомить вас не только с программированием, но и с основами проектирования. Вы научитесь организовывать свою работу, разбивать задачу на удобные
для реализации фрагменты, улучшать ранее написанный код. Время от времени
вам может быть непросто, однако совсем уж невообразимых сложностей в этой
книге нет. Полагаю, вы будете учиться с удовольствием и между делом напишете
несколько простых, но симпатичных компьютерных игр.
Код всех программ, представленных в этой книге, а также необходимые вспомогательные файлы можно скачать с сайта-помощника
На сайте также имеются установочные файлы программного обеспечения (ПО),
которое понадобится вам для запуска программ.
Подробнее обо всем, что доступно
на сайте, читайте в приложении А.
Важные моменты в книге отмечаются особым образом.
ПОДСКАЗКА------------------------
Опытные программисты любят делиться с новичками полезными знаниями, такими как эти.
ЛОВУШКА-------------------------
Кое в чем начинающие часто ошибаются. все подводные камни я буду помечать в такой врезке.
ХИТРОСТЬ-------------------------~
Под этой рубрикой будет рассказываться о методах и приемах, которые упрощают работу программиста.
, . НА САМQМ· ЕЛЕ ~ '
Образцы программ в этой книге - преимущественно игры. При их рассмотрении я буду показывать, какое применение те же самые идеи и понятия находят вне разработки игр.
'·,' '1 3 . ни ." ; . ' 1 ". '
В конце каждой главы я буду предлагать вам написать несколько программ, в которых найдут применение навыки, только что освоенные вами.