Учим Python, делая крутые игры 2018. Invent your owncomputer gameswith python
Скачать 6.56 Mb.
|
AL SWEIGART INVENT YOUR OWN COMPUTER GAMES WITH PYTHON DON’T JUST PLAY GAMES – MAKE THEM! ЭЛ СВЕЙГАРТ УЧИМ PYTHON, ДЕЛАЯ КРУТЫЕ ИГРЫ НЕ ИГРАЙ В ИГРЫ – СОЗДАВАЙ ИХ! 004.43 32.973.26-018.1 24 Al Sweigart INVENT YOUR OWN COMPUTER GAMES WITH PYTHON, 4th EDITION Copyright © 2017 by Al Sweigart. Title of English language original: Invent Your Own Computer Games with Python, 4th Edition, ISBN 978-1-59327-795-6, published by No Starch Press. Russian language edition copyright © 2018 by EKSMO Publishing House. All rights reserved. , . Python, / ; [ . . .. ]. — : , 2018. — 416 . — ( ! " ). ISBN 978-5-699-99572-1 # — $ Python !- %&. & ' . $ " - " , , «* + » «<& $ % », — + + Python !! 004.43 32.973.26-018.1 24 ISBN 978-5-699-99572-1 © .., , 2017 © ! . «" # « », 2018 Оглавление 5 ОГЛАВЛЕНИЕ Об авторе ..................................................................................................................15 Введение ...................................................................................................................16 Для кого эта книга? ...................................................................................................... 17 О книге ............................................................................................................................ 18 Как пользоваться этой книгой .................................................................................. 19 Номера строк и отступов ...................................................................................... 19 Длинные строки кода ............................................................................................. 20 Загрузка и установка Python ...................................................................................... 21 Запуск интерактивной среды разработки .............................................................. 22 Поиск справочной документации ............................................................................ 23 Глава 1. Интерактивная среда разработки...........................................................24 Немного арифметики .................................................................................................. 24 Целые числа и числа с плавающей запятой ...................................................... 25 Выражения ................................................................................................................ 26 Вычисление выражений .............................................................................................. 26 Синтаксические ошибки ............................................................................................. 27 Сохранение значений в переменных ....................................................................... 28 Заключение ..................................................................................................................... 33 Глава 2. Написание программ ................................................................................34 Строковые значения .................................................................................................... 34 Конкатенация строк ..................................................................................................... 35 Написание кода в среде разработки ........................................................................ 36 Создание программы «Привет, мир!» ................................................................ 37 Сохранение программы ......................................................................................... 38 Запуск программы ................................................................................................... 39 Как работает программа «Привет, мир!» ................................................................ 40 Комментарии для программиста ........................................................................ 40 Функции: Мини-программы внутри программ .............................................. 41 Функция print() ............................................................................................. 41 Функция input() ............................................................................................. 41 Выражения в вызовах функций ................................................................. 42 Завершение программы ......................................................................................... 42 Имена переменных ....................................................................................................... 43 Заключение ..................................................................................................................... 44 Глава 3. Игра «Угадай число» .................................................................................45 Пример запуска игры «Угадай число» ..................................................................... 46 Исходный код игры «Угадай число» ........................................................................ 46 Импорт модуля random.................................................................................................. 47 Генерация случайных чисел при помощи функции random.randint() .............. 49 Приветствие игрока ..................................................................................................... 51 6 Оглавление Инструкции управления потоком ............................................................................ 51 Использование циклов для повторения кода .................................................. 51 Группировка в блоки ............................................................................................... 52 Создание циклов с инструкцией for .................................................................. 53 Игрок угадывает число................................................................................................ 55 Преобразование значений при помощи функций int(), fl oat() и str() .......... 55 Логический тип данных .............................................................................................. 57 Операторы сравнения ............................................................................................ 58 Проверка условий и определение истинности/ложности ............................ 58 Эксперименты с логическими операторами, операторами сравнения и условиями .......................................................................................... 59 Разница между операторами = и == ..................................................................... 61 Инструкции if ............................................................................................................... 61 Выход из цикла до его завершения при помощи инструкции break ................ 62 Проверка, победил ли игрок ...................................................................................... 62 Проверка, проиграл ли игрок .................................................................................... 63 Заключение ..................................................................................................................... 64 Глава 4. Программа-шутник ..................................................................................65 Пример запуска программы «Шутки» ..................................................................... 65 Исходный код программы «Шутки» ........................................................................ 66 Как работает код ........................................................................................................... 66 Экранируемые символы .............................................................................................. 67 Одинарные и двойные кавычки ................................................................................ 68 Параметр end функции print() ................................................................................. 70 Заключение ..................................................................................................................... 71 Глава 5. Игра «Царство драконов» ........................................................................72 Как играть в «Царство драконов»............................................................................. 72 Пример запуска игры «Царство драконов»............................................................ 73 Блок-схема игры «Царство драконов» .................................................................... 73 Исходный код игры «Царство драконов» ............................................................... 74 Импорт модулей random и time ................................................................................... 76 Функции в игре «Царство драконов» ...................................................................... 76 Инструкции def ........................................................................................................ 76 Вызов функции ........................................................................................................ 77 Где указывать определение функций? ................................................................ 77 Многострочный текст ................................................................................................. 78 Выполнение циклов с помощью инструкций while ............................................. 79 Логические операторы ................................................................................................. 80 Оператор and ............................................................................................................. 80 Оператор or ............................................................................................................... 81 Оператор not ............................................................................................................. 82 Вычисление логических операций ...................................................................... 82 Возвращаемые значения функций ........................................................................... 84 Глобальная и локальная области видимости переменных ................................. 84 Параметры функции .................................................................................................... 86 Отображение результатов игры ................................................................................ 87 Определение пещеры с дружелюбным драконом ................................................. 88 Оглавление 7 Игровой цикл ................................................................................................................ 89 Вызов функций в программе................................................................................ 90 Запрос «сыграть снова» ......................................................................................... 91 Заключение ..................................................................................................................... 91 Глава 6. Использование отладчика .......................................................................93 Типы багов ...................................................................................................................... 93 Отладка ........................................................................................................................... 95 Запуск отладчика ..................................................................................................... 95 Пошаговое выполнение программы с помощью отладчика ........................ 97 Область глобальных переменных .............................................................. 97 Область локальных переменных ................................................................ 98 Обычное выполнение и завершение работы .......................................... 98 Навигация по коду ........................................................................................ 98 Поиск багов ..................................................................................................................100 Установка точек останова .........................................................................................104 Использование точек останова ...............................................................................105 Заключение ...................................................................................................................107 Глава 7. Проектирование игры «Виселица» с помощью блок-схем ................108 Правила игры «Виселица» ........................................................................................108 Пример запуска игры «Виселица» ..........................................................................109 ASCII-графика .............................................................................................................110 Проектирование игры с помощью блок-схем .....................................................111 Создание блок-схем .............................................................................................. 112 Ветвление в блок-схемах ..................................................................................... 113 Заканчиваем или начинаем игру сначала ....................................................... 115 Следующая попытка ............................................................................................. 115 Обратная связь с игроком ................................................................................... 117 Заключение ...................................................................................................................118 Глава 8. Написание кода игры «Виселица» ........................................................119 Исходный код игры «Виселица» .............................................................................119 Импорт модуля random................................................................................................123 Константы ....................................................................................................................123 Списки ...........................................................................................................................124 Доступ к элементам по их индексам ................................................................ 125 Индекс за пределами диапазона и ошибка IndexError ........................126 Присваивание индексов элементам ........................................................126 Конкатенация списков ......................................................................................... 126 Оператор in ............................................................................................................. 127 Вызов методов .............................................................................................................127 Методы списков reverse() и append() ................................................................ 128 Строковый метод split() ..................................................................................... 128 Получение секретного слова из списка .................................................................129 Отображение игрового поля для игрока ..............................................................130 Функции list() и range() ..................................................................................... 131 Срезы списков и строк ......................................................................................... 132 Вывод секретного слова с пробелами .............................................................. 134 8 Оглавление Получение предположений игрока ........................................................................136 Строковые методы lower() и upper() ................................................................. 136 Завершение цикла while ....................................................................................... 138 Инструкции elif .........................................................................................................138 Проверка допустимости предположения игрока ...............................................139 Предложение игроку сыграть заново ....................................................................140 Обзор функций игры .................................................................................................141 Игровой цикл ..............................................................................................................141 Вызов функции displayBoard() ........................................................................... 142 Ввод игроком угадываемой буквы .................................................................... 142 Проверка наличия буквы в секретном слове ................................................. 143 Проверка — не победил ли игрок ..................................................................... 143 Обработка ошибочных предположений ......................................................... 144 Проверка — не проиграл ли игрок ................................................................... 144 Завершение или перезагрузка игры ................................................................. 145 Заключение ...................................................................................................................146 |