Автор оригинала: Gareth Dwyer.
Если вы родитель, который хочет научить вашего ребенка, как кодировать с нуля, это руководство для вас. Мы собрали некоторые примеры, с которыми легко начать, не требуют никакой настройки, и с самого начала удовольствие.
Преимущества преподавания детей к коду
Хотя кодирование, как правило, только введено только в средней школе, нет ничего останавливать младших детей от обучения. Как изучать новый язык или изучать математику, изучение кода предоставляет не только полезные навыки, но и отличный способ стимулировать и развивать мозг в целом.
Так называемые «визуальные языки», как Царапина Разработаны специально для обучения детей концепции кодирования без необходимости запоминания синтаксиса. Тем не менее, они обычно довольно ограничены и могут быть разочарованы для работы, поэтому мы рекомендуем преподавать «реальное» кодирование с самого начала.
Начните с отображения им, как кодирование может быть весело и как они могут создать вещи, использующие это. Хотя это определенно выгодно для детей, подверженных воздействию концепций, таких как логика, типы данных и алгоритмы данных, основной фокус должен быть на том, как можно приятное кодирование.
Начиная
В этом руководстве мы покажем некоторые основные примеры, ориентированные на графическое программирование. Мы покажем вам, как использовать различные библиотеки для основной разработки игры, включая стандартные библиотеки и некоторые пользовательские REPL.IT. Мы посмотрим на примеры, используя:
- Python Turtle
- Пикировать
- Python Play
- Базовый
Вероятно, вы познакомитесь с ребенком только один или два из них, но у каждого есть разные сильные стороны. Python Turtle проще всего начать, но довольно ограничена. Pygame слишком сложно для полных новичков, но вы можете построить гораздо более сложные игры.
Мы построили Python Play на вершине PyGame в качестве компромисса в простоте/компромиссеров. Базовый синтаксис заимствования от старых парадигм программирования: используя такие вещи, как ГОТО
Редко встречается в современных языках программирования, но это может облегчить новичкам понять, что происходит «под капотом» с точки зрения потока программы, по сравнению с более современными конструкциями, такими как определения функций.
Каждый из примеров является отправной точкой для вас и вашего ребенка, чтобы играть и разработать свои собственные уникальные расширения.
Если у вас еще нет учетной записи команды repl.it, прочитайте это Введение в команды и зарегистрироваться. Бесплатный аккаунт будет достаточно, чтобы следовать, но вы можете выбрать премиум вариант для более мощных замедлителей и повышенной конфиденциальности.
Рисование с Python Turtle
Мы начнем с Python Turtle, так как он использует команды высокого уровня, такие как вперед ()
Чтобы переместить символ черепахи по экрану. Это делает его действительно легким для вашего ребенка, чтобы понять основы того, как она работает и изменит его, чтобы по-разному перемещать черепаху или рисуйте разные формы.
Мы собираемся построить простую черепахую игру с двумя персонажами. Один (управляемый вами) будет нарисовать лабиринт, а другой (контролируется кодом вашего ребенка) попытается перемещаться по нему.
Вы можете нарисовать лабиринт и объяснить своему ребенку, как вы это сделали и попросили их написать код, чтобы позволить своей черепахе перемещаться по нему.
Идея состоит в том, что вы (родитель) рисуют лабиринт, показывающий малыш, как вы это делаете, а затем позвольте им посмотреть на ваш код и писать код, который заставит их черепаху перемещаться по лабиринту и «побег».
Создать новый Python REPL или Вилка наш и начните с добавления следующего кода на main.py
файл.
import turtle parent = turtle.Turtle() kid = turtle.Turtle() kid.shape('turtle')
Приведенный выше код импортирует библиотеку черепахи, определяет две черепахи, один для родителя и один для ребенка. Последняя строка меняет форму черепахи вашего ребенка, чтобы представлять черепаху.
Теперь напишите код, который заставляет родительскую черепаху нарисовать лабиринт – в этом примере мы рисуем простую строку с пробелом. Мы начнем с очень простым лабиринтом, но вы можете использовать ваше творчество, чтобы рисовать более сложные, как только ваш ребенок узнал основы.
Добавьте код ниже в тот же файл.
parent.up() parent.setx(100) parent.sety(200) parent.down() parent.color('red') parent.right(90) parent.forward(300) parent.up() parent.forward(50) parent.down() parent.forward(50)
Первый блок кода поднимает ручку и перемещает ее к координатам (X, Y) (100,200), а затем снова выдвигает ручку. (По умолчанию ручки будут рисовать, так как они перемещаются, так что это перемещается в новое начальное местоположение, не делая строки.)
Второй блок меняет родительскую черепаху нарисовать с красными чернилами.
Последний блок кода меняется направление (на 90 градусов вправо) и рисует линию (вниз, так как это то, как слепая черепаха находится в настоящее время), которая длиной 300 пикселей. Затем он поднимает ручку и перемещает еще 50 пикселей для создания зазора и, наконец, понижает ручку, чтобы завершить линию.
Вы можете объяснить вашему ребенку, как этот код работает в строке, чтобы они могли попробовать ее с помощью своей черепахи.
Теперь ваш ребенок может занять сиденье водителя, и вы можете помочь им столько же, сколько нужно, чтобы написать код, аналогичный следующему (непосредственно под существующим кодом).
kid.right(90) kid.forward(120) kid.left(90) kid.forward(200)
С вышеупомянутым кодом Черная черепаха повернет направо (обращена вниз), переходит на тот же уровень, что и зазор в красной линии, поверните налево и двигайтесь вперед через зазор.
Если ваш ребенок любит решать эти магазины, и вы устали от их создания, вы можете использовать Python’s Случайные
Модуль, чтобы помочь с рисунком случайных мазумов.
Создание интерактивных игр с Python Play
Python Play Это слой абстракции, построенный поверх PyGame, который позволяет легко построить более продвинутую игру, чем с черепами, но без необходимости понимать все концепции, необходимые для Pygame.
Если вы хотите что-то почти так же просто, как черепаха, но с более продвинутыми параметрами, как простое обращение с входом через вашу мышь или клавиатуру, это хороший вариант, чтобы представиться до того, как что-то более продвинуто, например, Pygame.
Вилка Это реффиг Какая простая игра показывает, как обработать ввод мыши.
Кошка движется случайным образом вокруг экрана, и игрок должен нажать на кошку в пределах 15 вспышек, чтобы выиграть.
Вы могли бы показать своему ребенку:
Изменить символы, которые составляют кошку
Изменяя линию
cat = play.new_text('=^.^=', font_size=70)
Сделать игру проще или сложнее
Особенно, если вы используете компьютер с трекпадом или иным образом обнаружите, что ваша мышь недостаточно чувствительна, вы можете сделать игру проще несколькими разными способами:
Изменяя количество секунд, кошка отображается в следующем коде.
cat.show() cats_shown += 1 await play.timer(seconds=0.6)
Или путем увеличения/уменьшения количества вспышек, допущенных до того, как игра заканчивается, изменяя следующий код.
if cats_shown >= 15: cat.words = 'Game over!'
Или путем увеличения размера шрифта в исходном определении кота.
Построить совершенно новую игру
Как только вы оба комфортно с синтаксисом Python Play, который составляет эту игру, взгляните на все, что доступны строительные блоки в Документация И построить что-нибудь весело!
Строительство более продвинутых игр с Pygame
Pygame сложнее, чем Python Play, но у него также есть большее сообщество и многие Предварительно построенные примеры что вы можете использовать в качестве отправной точки.
Вероятно, ваш ребенок выиграет от начала с некоторыми простыми библиотеками и двигаться до Python Play со временем. Но если вы хотите прыгнуть в глубокий конец, у нас также есть Подробное руководство Как построить игру жонглирование в Pygame.
Рисование на пустой холсте с основным
Программирование, используемое, чтобы выглядеть довольно разным. Пожилые языки, такие как основные полагались на ГОТО
Заявления и другие конструкции, которые редко видны на более современных языках.
Однако эти конструкции также являются «ближе к металлу», и они могут помочь новичкам понять, как такие вещи, как поток программы, на самом деле работают под капотом.
Классический базовый на REPL.IT Совмещает синтаксис основных с некоторыми более современными функциями для лучшего из обоих миров.
У самых простых, его можно использовать как Microsoft Paint: для рисования пикселей пикселем на холсте, но с помощью кода вместо вашей мыши.
Вот пример стартера, показывающий, как нарисовать пиксель собаки по пикселю, а затем добавьте строку с помощью A для
петля.
Вилка это Реп Так что вы и ваш ребенок можете нарисовать вместе с помощью кода.
Базовый определенно не ограничен только лишь статическими изображениями. Для более вдохновения взгляните на эту замену Игра Полная змея Отказ
Где дальше?
Как только ваш ребенок понимает основы программирования, они могут перейти к работе через Наши учебники Отказ
В то время как игры часто бывают добрыми способами зацепиться к программированию, многие дети также предпочитают строить неигр игры. Посмотрите, больше всего ли они заинтересованы в играх, разработка веб-приложений или даже что-то вроде визуализации данных, а затем удвоить на поиск больше примеров, которые соответствуют их интересам.
Это также хорошее время, чтобы познакомить детей на «вычислительное мышление». CS отключен Это хороший ресурс для преподавания новичков основных наук без компьютера.