Шуман Х. - Python для детей - 2019. # Startwerte festlegen Red (255,0,0)
Скачать 5.95 Mb.
|
Eine Game-Klasse 305 # Startwerte festlegen Red = (255,0,0) Blue = (0,0,255) Yellow = (255,255,0) xMax, yMax = 800, 400 # Pygame starten, Spiel-Elemente erzeugen pg.init() pg.key.set_repeat(20,20) pg.display.set_caption("My Game") Fenster = pg.display.set_mode((xMax, yMax)) Figur = Player(20,30) Ball = Thing("Bilder/ball1.png") Ball.setPosition(xMax-50, yMax/2, True) Spiel = Game(Yellow) # Ereignis-Schleife running = True while running : for event in pg.event.get() : if event.type == pg.QUIT : running = False # Tasten abfragen if event.type == pg.KEYDOWN : if event.key == pg.K_UP : Figur.setState(2) Spiel.getTime(True) if event.key == pg.K_DOWN : Figur.setState(1) Spiel.getTime(True) # Zeit testen, ggf. Figur zurück in Stand Zeit = Spiel.getTime(False) if Zeit > 200 : Figur.setState(0) # Ball bewegen, ggf. zurücksetzen if not Figur.isHit : Ball.move(-1, 0) if Ball.controlRestart(xMax-50, yMax/2) : Spiel.setScore(1, Blue) # Kontrolle, ob Ball im Kontaktbereich if (Ball.x < Figur.x+150) : # Wenn Player nicht ausweicht, Spiel-Ende if not Figur.dodge(Ball.y, yMax/2) : Figur.isHit = True Spiel.showMessage("Game over", Red) # Sprite in Fenster positionieren Fenster.fill(Yellow) Fenster.blit( Spiel.Text, (xMax/2, 10)) www.дмк.рф Интернетмагазин: www.dmkpress.com Оптовая продажа: КТК «Галактика» email: books@alianskniga.ru Ха нс Ге ор г Ш ум ан PYTHON для Д Е Т Е Й Эта книга – прекрасное руководство по программированию для детей на языке Python средней сложности. Читатели получат базовые знания о языке Python, узнают об объектноориентированном программировании, научатся работать с функциями, классами и модулями. Много внимание уделено работе с графикой, созданию анимации и разработке собственной игры. Издание будет полезно школьникам средних и старших классов, увлекающимся программированием, а также может быть использовано как учебник на курсах дополнительного образования для детей. PYTHON для Д Е Т Е Й PY TH O N д ля Д Е Т Е Й 9 785970 606810 ISBN 978-5-97060-681-0 316 Anhang A Python installieren Angeboten werden zwei Versionen von Python, die sich nicht nur in einigen Punk- ten unterscheiden. Wir arbeiten in diesem Buch mit der aktuell neuesten Version Python 3. > Klicke also auf die Schaltfläche, über die der Download von P YTHON 3 angeboten wird. (Während ich dieses Buch geschrieben habe, war 3.6.3 die aktuelle Ver- sion.) > Suche und öffne nun das Fenster des Ordners, in den du die Datei heruntergela- den hast – in der Regel ist das der Ordner D OWNLOAD > Doppelklicke dort auf das Symbol mit dem Namen P YTHON 3 (oder einem ähnli- chen Text). Hans-Georg Schumann Python für Kids Programmieren lernen ohne Vorkenntnisse Ханс-Георг Шуман Python для детей Уроки программирования для чайников Москва, 2019 УДК 004.438Python:004.6 ББК 32.973.22 Ш96 Шуман Х.-Г. Ш96 Python для детей / пер. с нем. М. А. Райтман. – М.: ДМК Пресс, 2019. – 344 с.: ил. ISBN 978-5-97060-681-0 Эта книга – прекрасное руководство по программированию для детей на языке Python средней сложности. Читатели получат базовые знания о языке Python, узнают об объектно-ориентированном программировании, научатся работать с функциями, классами и модулями. Много внимания уделено работе с графикой, созданию анимации и разработке собственной игры. Издание будет полезно школьникам средних и старших классов, увлекающимся программированием, а также может быть использовано как учебник на курсах допол- нительного образования для детей. УДК 004.438Python:004.6 ББК 32.973.22 First published as Python für Kids by Hans-Georg Shuman. © 2018 by MITP Verlag GmbH&Co, KG. All rights reserved. Published with arrangements made by Maria Pinto-Peuckmann, Literary Agency-World Copyright Promotion, Kaufering. Germany. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения вла- дельцев авторских прав. ISBN 978-3-95845-320-3 (нем.) Copyright © 2018 mitp Verlags GmbH & Co. KG, Frechen ISBN 978-5-97060-681-0 (рус.) © Оформление, издание, перевод, ДМК Пресс, 2019 Посвящается Янне, Джулии, Катрин и Даниэль 6 Содержание Введение 13 Твои первые шаги в программировании 19 Начало работы с Python .................................................... 19 Числа и текст ..................................................................... 23 Рабочая среда IDLE ........................................................... 27 Работа с PY-файлами ........................................................ 30 Эксперименты с исходным кодом ................................... 34 Выход из Python ................................................................ 37 Подведение итогов ........................................................... 37 Несколько контрольных вопросов... ................................ 38 ...а задач пока нет! ............................................................ 38 Условные конструкции 39 Конструкция if ................................................................. 39 Конструкция if else ........................................................... 44 Простые вычисления ........................................................ 48 1 2 Содержание 7 Вкратце о числах ............................................................... 51 Работа с командами try и except ...................................... 55 Подведение итогов ........................................................... 57 Несколько вопросов... ....................................................... 58 ...и задач ............................................................................ 58 Сравнение и повторение 59 Оценки ............................................................................... 59 Небольшая игра на угадывание ....................................... 64 Компьютер считает попытки ........................................... 69 Шлифуем игру ................................................................... 72 Подведение итогов .......................................................... 74 Несколько вопросов... ....................................................... 75 ...и задач ............................................................................ 75 Азартная игра 76 Игра наудачу ..................................................................... 76 Конструкция for ................................................................ 79 На пути к миллиону .......................................................... 82 Выиграть в лотерею? ........................................................ 87 Управление строками ....................................................... 90 Подведение итогов .......................................................... 92 Несколько вопросов ... ...................................................... 93 ...и задач ............................................................................ 93 Функции 94 Python учится .................................................................... 94 Локальные или глобальные переменные? ...................... 98 Параметры ....................................................................... 100 Обмен значений .............................................................. 104 Сортировка чисел ............................................................ 108 Подведение итогов ........................................................ 112 Несколько вопросов... ..................................................... 112 ...и задач .......................................................................... 112 4 5 3 Глава Содержание 8 Классы и модули 113 Потомки ........................................................................... 113 self и __init__ .................................................................. 117 Наследование .................................................................. 120 Модули программы ........................................................ 125 Приватный или публичный? .......................................... 130 Подведение итогов ......................................................... 134 Несколько вопросов... ..................................................... 134 ...а задач нет .................................................................... 134 Введение в tkinter 135 Создаем окно ................................................................... 135 Что же происходит? ........................................................ 139 Разметка интерфейса программы ................................. 142 Диалоговые окна и заголовки ........................................ 145 А теперь с классами ........................................................ 146 Подведение итогов ........................................................ 148 Несколько вопросов... ..................................................... 148 ...и одна задача................................................................ 148 Библиотека компонентов 149 Череда кнопок ................................................................. 149 Кнопки и ответы ............................................................. 152 Списки выбора ................................................................ 155 О переключателях... ........................................................ 157 ...и флажках ..................................................................... 160 Декорирование приложения .......................................... 164 Подведение итогов ......................................................... 167 Несколько вопросов... ..................................................... 168 ...и задач .......................................................................... 168 Домашний психолог 169 Пошаговая разработка программы-психолога ............. 169 Приступим к диагностике? ............................................ 173 6 7 8 9 Содержание 9 Работа с файлами ............................................................ 177 Все вместе ........................................................................ 181 Журнал диагностики ...................................................... 183 Подведение итогов ........................................................ 185 Несколько вопросов... ..................................................... 185 ...и задач .......................................................................... 185 Меню и диалоговые окна 186 Меню для программы-психолога .................................. 186 Два диалоговых окна ...................................................... 190 Полный исходный код .................................................... 192 Контекстные меню и всплывающие окна ..................... 194 Используем сочетания клавиш ...................................... 198 Подведение итогов ........................................................ 200 Несколько вопросов... ..................................................... 200 …и нет задач .................................................................... 200 Графика в Python 201 Точки и координаты ....................................................... 201 Первое изображение ....................................................... 204 Добавим цвета ................................................................. 208 Углы и круги .................................................................... 209 Эксперименты с текстом ................................................ 212 Звездное небо .................................................................. 213 Сам себе художник .......................................................... 215 Черепашья графика ........................................................ 217 Подведение итогов ........................................................ 221 Несколько вопросов... ..................................................... 221 ...и задач .......................................................................... 222 Создание анимации 223 Начнем с круга ................................................................ 223 Загружаем на холст изображение .................................. 227 Коллекция изображений ................................................ 230 11 12 10 Глава Содержание 10 Класс Player ...................................................................... 232 Все работает? ................................................................... 236 Повороты ......................................................................... 238 Исчезновение и появление ............................................ 240 Подведение итогов ........................................................ 243 Вопрос... ........................................................................... 243 ...и несколько задач ........................................................ 244 Игра с насекомыми 245 Начало работы с Pygame ................................................... 245 Создаем в окне объект .................................................... 248 Насекомое в качестве персонажа .................................. 251 Управление персонажем ................................................ 256 Поворот персонажа ......................................................... 261 Отслеживание границ игрового поля ............................ 264 Подведение итогов ........................................................ 266 Несколько вопросов... ..................................................... 267 ...и задача ........................................................................ 267 Как раздавить жука 268 Разбираемся с мышью .................................................... 268 Никуда без математики .................................................. 270 Собираем все вместе ....................................................... 275 Свободное ползание ....................................................... 277 Тапком по виртуальному жуку ...................................... 281 Управление классами ..................................................... 283 Подведение итогов ......................................................... 286 Несколько вопросов... ..................................................... 287 ...и задача ........................................................................ 287 Уклониться или проиграть 288 Новый персонаж ............................................................. 288 Стоять, приседать и подпрыгивать ............................... 292 Класс Thing ....................................................................... 296 13 14 15 11 Учим персонажа уклоняться .......................................... 299 Основная программа ...................................................... 303 Подведение итогов ......................................................... 304 Нет вопросов... ................................................................ 304 ...и одна задача................................................................ 305 Пора развлекаться 306 Игровой счет.................................................................... 306 Класс Game ......................................................................... 310 Ошибка при сборке программы .................................... 313 Очки при попадании ...................................................... 316 Подведение итогов и заключение ................................. 320 Установка Python 321 Установка библиотеки Pygame, вариант 1 ..................... 325 Установка библиотеки Pygame, вариант 2 ..................... 329 Файлы примеров ............................................................. 331 Решение распространенных проблем 332 Ответы на вопросы и задачи 333 Предметный указатель 340 А В Б 16 12 В своё время, для того чтобы изучить основы Python, я по- тратил очень много времени на поиск необходимой ин- формации в интернете. Книг тогда было достаточно, но они были перегружены огромным количеством информации, которая только путала новичка. Эта книга представляет собой руководство средней слож- ности для изучения языка программирования Python. Она очень хорошо подойдёт для детей, изучающих Python с наставником, и для самостоятельного освоения данно- го языка, а также для составления методических пособий в организациях дополнительного образования. Дмитрий Филиппов, преподаватель курса по Python в международной школе программирования для детей «CODDY» 13 Введение Python – это язык программирования, который был разрабо- тан в начале 1990-х годов. Название этого языка програм- мирования произошло от имени английской комедийной труппы под названием «Монти Пайтон», которая в 70-е го- ды была довольно популярна и принимала участие в кино- комедиях, таких как «Жизнь Брайана». Хотя Python во многом похож на другие языки программи- рования, он стал очень популярен, так как именно на этом языке довольно легко научиться программировать. Эта книга посвящена третьей версии языка программирования Python, на сегодня последней (и универсальной). Что такое программирование? Программирование – это когда ты записываешь то, что дол- жен делать компьютер. Самое замечательное, что ты сам можешь решить, что конкретно ему нужно делать. Если ты запустишь свою программу, компьютер выполнит то, что ты только что придумал и записал. Конечно, твой компьютер не сможет убрать твою комнату и не принесет тебе чашечку какао в постель. Но как только ты освоишь программирование, то сразу же сможешь поз- волить компьютеру, так сказать, танцевать под свою дудку. Однако во время программирования часто бывает так, что компьютер не хочет выполнять то, что хочешь от него ты. Обычно такое поведение вызывает ошибка в программе. Проблема также может быть где-то еще в компьютере или |