Minecraft (Майнкрафт) — это инди-игра, в которой объекты и персонажи создаются с помощью блоков. Игра невероятно популярна среди детей, поэтому создатели Minecraft придумали, как сделать процесс еще полезнее: теперь создавать объекты в игре можно с помощью текстового кода Python (Пайтон, Питон) — одного из самых востребованных языков программирования в мире. Это отличная возможность познакомить детей с программированием, не отрывая их от любимой игры.
Мы в школе программирования для детей «Пиксель» приготовили для вас короткие уроки Python программирование в Minecraft. Это отличная возможность пройти курс Python для детей в знакомой и любимой среде.
Итак, для начала скачаем и установим необходимые программы.
Как скачать Minecraft и Python на Windows (на ПК)
Как скачать Minecraft и Python на MacOS
Как научиться программировать в Minecraft? «Фоксфорд.Ответ»
Урок 1. Знакомство с Python для детей
Начинаем изучать Minecraft программирование. В этом видеоуроке мы научимся настраивать взаимодействие Python с Minecraft. А затем напишем наш первый код и выведем сообщение в чат.
Урок 2. Вывод координат персонажа в чат и цикл
Мы узнаем, что такое координаты и как они определяются, зададим координаты для нашего персонажа с помощью кода Python. Затем мы воспользуемся циклом, чтобы постоянно получать данные о координатах персонажа.
Урок 3. Переменная, условие. Создание первой игры
В этом видеоуроке мы изучим такие понятия, как переменная и условие. Используя полученные знания, мы напишем код, который будет выводить количество очков в чат.
Урок 4. Создание блоков с помощью кода
Мы научимся устанавливать блоки с помощью Python: импортируем нужные библиотеки и напишем текстовый код. Узнаем, что такое ограниченный цикл и, используя все эти знания, создадим небольшие постройки.
Урок 5. Строительство улицы из домов
В этом уроке мы изучим понятие функции и построим 12 домов на одной улице с помощью одного кода.
Урок 6. Создание 2D-фигур
В этом уроке мы установим новые библиотеки для программирования в Python. Они помогут нам нарисовать 2D-фигуры в Minecraft с помощью кода.
Урок 7. Создание 3D-фигур
В этом видеоуроке мы вспомним, как в Minecraft создавать простейшие трехмерные фигуры с помощью блоков, и научимся создавать сферу.
Урок 8. Создание многоугольников
Мы познакомимся с понятиями массива и вектора и создадим многоугольную пирамиду.
Урок 9. Искусственный интеллект. Создание бота
Наше Minecraft обучение выходит на новый уровень. В этом видеоуроке мы узнаем, что такое искусственный интеллект (ИИ) и как он применяется в разных технологиях. Мы применим ИИ в Minecraft: создадим бот в Minecraft на Python, который будет следовать за нами и определять, насколько далеко от него мы находимся.
Урок 10. Применение случайных чисел в ИИ
Мы узнаем, что такое случайное число и вероятность, и научимся использовать это в искусственном интеллекте. Эти знания понадобятся нам, чтобы создать программу, которая будет действовать более непредсказуемо, а значит будет более похожей на человека.
Плейлисты с видеоуроками регулярно пополняются, подписывайтесь на наш YouTube-канал , чтобы следить за выходом новых видео и открывать для себя мир IT-технологий!
Если же вам нужен наставник, загляните в Школу программирования для детей “Пиксель”: посмотрите полный курс по программированию в Minecraft на языке Python .
Источник: dzen.ru
Стив пишет заклинания на Python. Обучение детей программированию в Minecraft
Как можно оценить настойчивую побудку второклассником часов в 7 утра воскресенья со словами «Папа! Пойдем учить Python»? Бесценно. Назрело желание поделиться наработками домашнего обучения детей программированию — систематизировать и законспектировать хотя бы для самого себя. Даже не столько обучению, сколько привлечения детского внимания и интереса.
Ведь согласно Сократу, человек — не сосуд для заполнения, а факел, который нужно зажечь. Изначально были попытки начать со Scratch, но несмотря на понятный графический интерфейс желание продолжать и что-то делать в среде быстро угасло. Minecraft пошел намного лучше, потому что дети уже были хорошо знакомы с игрой по мобильной версии и любимому creative mode.
Ради иллюстрации этой статьи я решился на запись скринкаста. Со второй или третьей попытки удалось сократить все до 20 минут. Все равно получилось растянуто, зато показаны основные моменты в динамике — все, что в тексте ниже.
Я не имею в виду создание и использование модов, это слишком высокий уровень входа. Первые попытки были после знакомства с первым изданием книги Minecraft. Программируй свой мир и удачной настройки сервера Bukkit на домашней машине. На данный момент (начало 2021 г.) есть второе издание, ссылка как раз на него а также несколько похожих книг других авторов.
Второе издание хорошо тем, что в нем исправлены ошибки в коде, которые были в первом, а также используется Python3 и более новая версия сервера. Вот тут на Хабре обзор первого издания от издательства Питер.
Сразу оговорка — игра запускается на одной домашней машине, обычно ноутбуке, в Windows. Серверные версии не пробовал, хотя было бы интересно посмотреть, если кто-то уже делал. Быстрый поиск показывает многочисленные русскоязычные курсы и школы программирования для детей, использующие Minecraft для обучения, но полноценного открытого руководства или хотя бы форума энтузиастов для обмена опыта — не видно.
На странице издательства Wiley есть несколько видео для упрощения, самое первое как раз об установке и настройке сервера Bukkit, отдельно установка Python (не Anaconda, из простого дистрибутива), тьюториал подключения к запущенному серверу и запуска в нем HelloWorld из питоновского IDLE.
Библиотека mcpi была изначально написана для запуска python-скриптов в Майнрафте на Raspberry Pi. Версия Minecraft для Raspberry Pi распространяется бесплатно. Сейчас mcpi работает под Windows. Качать отдельно ее не надо, все входит в состав Bukkit-сервера.
Школьник даже начальной школы очень легко осваивает клавиатуру, набор кода в окошке IDLE. API mcpi предоставляет не очень богатые, даже убогие, возможности для такого сложного мира, как Minecraft. Но для начала как раз то, что надо. Самое первое, что осваивает начинающий программист в Minecraft после подключения к миру — вывод сообщений в чат.
Далее — создание разного типа блоков и готовых параллелепипедов из них. Опыт показывает, что самое сложное для ребенка — понять, что такое 2D и 3D-координаты. Здесь пришлось отдельно провести урок с объяснениями на бумажке о движениях игрока по полю, о смещениях по вертикали.
Здесь большое неудобство доставляет система координат, выбранная в игре: вертикальная ось — это координата Y, а горизонтальная плоскость — XZ. Вот тут хорошо прорисовано. Лучше всего на начальном этапе повторять это несколько раз и обязательно задавать маленькие проверочные задачки. Надо просить указать координаты перемещения с нарисованными на бумаге осями.
Когда координаты освоены, нужно объяснить, как их можно использовать в игре. Возможностей в mcpi по большому счету всего две — установка блоков и перемещения игрока в пространстве мира. Когда это освоено на десятке заранее подготовленных примеров, можно дать ученику модифицировать готовые скрипты, но обязательно с предварительным обсуждением — а что, собственно, он хочет сделать. Лучше всего, если удастся организовать предварительное написание кода на бумаге, но в реальности это далеко не всегда получается.
Следующий логичный шаг — объяснение главных тем программирования — переменные и простые типы, циклы и условия. С объяснениями и показом примеров сразу же в игровом мире все эти сложные для школьников штуки схватываются удивительно быстро. Поначалу мы клали отдельные блоки разных типов, указывая номер.
Иногда игровая сессия слетала, если ставили какой-то недокументированный или опасный блок вроде тринитротолуола. А большой куб из лавы вполне может сжечь лес и траву на поверхности, устроив масштабный пожар. Вот здесь пример встречи люда и пламени. Трехмерные координаты хорошо демонстрируются установкой в цикле стеклянных столбов, вертикальных, наклонных свай, спиралей из блоков, уходящих в небо — и так далее.
О чем больше всего хотелось рассказать — небольшое усовершенствование процесса запуска питоновских скриптов из IDLE. Скажем, на ноутбуке, даже с подключенным вторым монитором, крайне неудобно перескакивать по Alt-Tab из клиента Майнкрафта в IDLE, чтобы запустить скрипт из окошка по F5. При таком перескоке клиент выходит из игрового времени в паузу.
Если скрипт что-то выводит в чат игры, можно успеть вернуться и увидеть результат. Найденное решение — в самом скрипте сканер сообщений игрока периодически проверяет лог игровой сессии в папке AppDataRoaming.minecraft, чтобы поймать сообщения из чата, распарсить их и выполнить соответствующую связанную питоновскую функцию, если таковая есть.
Игрок вводит сообщение в чате вроде /me build, сканер ловит запись в логе, и если для команды build есть функция, запускает ее. А функция, к примеру, строит дом в координате рядом с игроком с небольшим сдвигом. Здесь сразу естественно объясняется процедурный подход и немного структуры данных — хэш-таблица и вызов функции в Питоне по ее имени в строковой переменной. Такой режим хорош для ребенка тем, что вызов в игре своего личного кода происходит без переключения, выполняется в течении 2-3 секунд и выглядит в игре как вызов заклинания. А заклинание он только что написал сам.
Совсем не обязательно ограничиваться стандартным миром, загружаемым по умолчанию. Готовых миров — уйма. Главное убедиться, что он подходит к конкретной версии сервера Bukkit (не самой новой). Самое простое — положить скачанную и распакованную папку мира в папку сервера, прописать ее в конфиг server.properties
Перезапускаем bukkit server — если стартовал, можно теперь творить свои скрипты там
Из планов — хотелось бы посмотреть opensource-версию Майнкрафта — Minetest. Она написана на плюсах, по этой причине пишут об очень хорошей производительности и большом наборе игровых возможностей. Все-таки Майнкрафт начинает заметно тормозить несмотря на очень простую графику. Кроме этого в Minetest есть похожие возможности программирования, но на Lua.
Возможно, займемся этим в ближайшем будущем — статья в Вики. Хотелось бы еще попробовать другие реализации API Minecraft, но они все довольно старые, и на страничках в github прямо предупреждается, что максимальные версии сервера, где их библиотеки работают, очень и очень старые. Picraft — интересная библиотека. Кроме всего этого свет клином на Minecraft не сошелся. Что-то краем уха слышал об аналогичных возможностях в Roblox — тоже горячо любимой платформе.
Хотелось бы попробовать режим с несколькими игроками, каждый из которых может выполнять свой код. Очень интересно попытаться вставить в игру самостоятельных существ с собственным запрограммированным поведением. С большим интересом посмотрел на микрософтовский сайт Minecraft MakeCode, но глубоко не изучал.
Еще множество интересных примеров собраны на instructables.com с видеодемками и на сайте проектов под RaspberryPi, их тоже можно использовать. Самый лучший результат таких усилий — если у человека появляются идеи и стремление создать что-то самому. В современном мире один из самых дорогих ресурсов, за который идет борьба — человеческое внимание, привлеченный интерес. Если среди изобилия развлечений, гаджетов, картинок, youtube удалось зажечь и продержать увлечение до выработки умений и привычек — это уже огромное достижение.
- Python
- Учебный процесс в IT
- Дизайн игр
Источник: habr.com
Майнкрафт обучение программированию для детей
Курс позволяет ребенку познакомиться с программированием в игровой форме и продолжить обучение по интересующему его направлению
Мы совместили приятное с полезным.
Ребенок изучает программирование в любимой игре Minecraft
причины пройти курс
Программирование в Minecraft
Научится составлять код и с его помощью управлять персонажами, строить 3D-объекты, создавать свои вселенные. На уроках развивают логическое и творческое мышление, учатся ставить цели и добиваться результата.
Изучим основы программирования
Осязаемый результат
Ученики видят результат работы, каждый урок новый проект. В конце обучения они презентуют финальный проект, собирают портфолио и получают диплом об окончании курса
Современный подход к обучению
Обучение в Minecraft — идеальное сочетание игры и изучения основ кода. Вместо сухой теории — онлайн занятие, практические задания и новые друзья, с которыми веселее учиться
НАЧАТЬ ОБУЧЕНИЕ
Программа курса
Узнаем, как построить свой дом с помощью программирования, и как работать с инвентарем робото-черепашки.
Научимся атаковать противника с помощью языка программирования.
Изучим основ программирования, напишем программу для управления.
Узнаем, что такое цикл и переменная . Познакомимся с логическими условиями и операторами.
Первые программы
Изучим новые блоки, построим крутой город , используя только код .
Создадим свой проект и презентуем его.
Строительство
Итоги обучения
Познакомились с миром и возможностями игры Minecraft
Научились создавать объекты в Minecraft при помощи добычи и комбинирования различных элементов
Изучили основы визуального программирования
Портфолио ученика
Результаты обучение по каждому уроку, обратная связь от преподавателям
Презентация проектов
На 12 уроке ученики презентуют и защищают свои проекты, прокачивают soft skills и получают навыки публичных выступлений
/EDUCATE/(INSPIRE)NOW. /EDUCATE/(INSPIRE)NOW. /EDUCATE/(INSPIRE)NOW. /EDUCATE/(INSPIRE)NOW. /EDUCATE/(INSPIRE)NOW.
Стоимость обучения
1 375 ₽/ урок 2 часа
45 000 ₽
6 000 ₽
1 250 ₽/ урок 2 часа
16 500 ₽
1 500 ₽ / урок 2 часа
РЕКОМЕНДУЕТСЯ
Click to order
Сделать заказ
Нажимая на кнопку, вы даете с оглас ие на обработку
персональных данных и соглашаетесь c политикой конфиденциальности
Что говорят об обучении в академии impact AC!
В работе соединяю два основополагающих направления — знание IT и любовь к преподаванию, что делает занятия интересными и увлекательными как для учеников академии, так и для меня самой.
Нияз Галимуллин — преподаватель в детской IT академии impact AC!
Не только наставник, но и друг для каждого ученика. На уроках помогаю с нуля воплотить любые идеи. Нужно только чуточку фантазии.
Елизавета Проклятикова — преподаватель в детской IT академии impact AC!
Мне нравится работать с детьми, раскрывая их способности, чтобы каждый ученик мог реализовать себя как личность не только в жизни, но и в сфере IT
Источник: impactacademies.ru