В начале хочу поделиться с Вами отрывком из книги «Геймификация в бизнесе» Гейба Зикерманна и Джоселин Линдер:
Для съёмок телешоу «Авиаторы» Реми, 12-летнего мальчика, привели к профессиональному авиационному симулятору практически с улицы. Дав мальчику минимальные инструкции, его попросили провести посадку «Боинга-737» в аэропорту Лос-Анджелеса (на компьютере, разумеется), опираясь только на наблюдаемые условия полета, без подсказок автопилота. Это было задание, с которым в реальном мире способны справиться только опытные пилоты. Без какой-либо подготовки Реми за считанные минуты благополучно посадил воздушное судно и подвел его к телетрапу в одном из самых загруженных аэропортов мира.
«Они [подростки] очень быстро понимают, что к чему, потому что в них есть компьютеры и видео-игры и такие ситуации для них — привычное дело», говорит владелец симулятора.
Современные дети выросли на играх, на реальности, которая существенно изменила их сознание и наш мир. Практическое медиаисследование выявило, что 70% родителей позволяют своим детям, даже младенцам, пользоваться этими устройствами (планшетами и смартфонами). Более того, исследование также показало, что в 2010 году 38% детей возрастом меньше восьми лет пользовались смартфоном или планшетным компьютером, в том числе 10% составляли дети до года. Одобряете выбор родителей или нет, но вам не остаётся ничего другого, кроме как смириться с фактами: так воспитывают сотрудников и потребителей будущего
Не удивительно, что увлечь современных детей всё сложнее. Для более старшего поколения представляется с трудом, как виртуальный мир может быть более интересен, чем игры во дворе. Но так или иначе, задача взрослых становится в том, как продолжать удивлять детей и открывать для них удивительный мир вокруг, в том числе мир науки и техники.
Одним из способов показать ребёнку обратную сторону технологий — это показать их ему с точки зрения создателя, а не потребителя.
Scratch — это один из самых удачных языков программирования для детей. Он делает «вход» в технологии программирования очень простым и понятным. Чем сложнее становится проект, тем более разносторонние знания требуются.
Давайте вместе попробуем создать игру в Scratch и сделать первые шаги в программировании.
Инструкция по созданию игры «Вертолёт» на Scratch
Для создания вашей игры вам потребуется этот онлайн редактор. Рекомендуем присоединиться/зарегистрироваться на сайте Scratch, чтобы игра сохранялась автоматически.
Суть игры: вертолет летает по небу, где в хаотичном порядке летают облака. При столкновении с облаком вертолет говорит «Ouch» и ему прибавляется 1 штрафное очко. Как только он столкнется с облаками 10 раз, игра закончится и пользователю предложат попробовать сыграть ещё раз. Есть и другой элемент, полезный — ягодки. Они также будут появляться в различных частях экрана и касание с ними будет убирать одно штрафное очко. Если наберёте минус 5 штрафных очков, то победите и фон сменится на поздравительный!
Подготовительный шаг
Ознакомьтесь, пожалуйста, с интерфейсом Scratch.
Шаг первый: фон
Их будет всего два: основной и поздравительный. Основной фон на начальном этапе будет светлым, поэтому необходимо просто залить его серой краской. В левой нижней части экрана выделяем сцену, переходим во вкладку Фоны, выбираем элемент Заливка, выбираем цвет из палитры и заливаем фон.
Второй фон мы возьмём из галереи. Над картинкой первого фона выбираем первую кнопку Выбрать фон из библиотеки . Тема — «Музыка и танцы», картинка — «Party».
Выбираем элемент Вставить текст — буква «Т» сразу над заливкой, щелкаем в любом месте и пишем «You Win!». Scratch воспринимает только английский язык, поэтому не пытайтесь именно здесь писать русскими буквами. После окончания ввода нажмите один раз левой кнопкой мыши рядом с текстом и вокруг него появится рамочка при помощи которой его можно будет растягивать и перемещать.
Шаг второй: спрайты
Все спрайты выбираются из галереи. Под сценой вы найдете текст «Новый объект» и кнопку с картинкой для добавления нового спрайта из библиотеки.
Раздел Транспорт > «Helicopter» (вертолёт) > выделить и нажать внизу ОК.
Раздел Предметы > «Button2» (кнопка) > выделить и нажать внизу ОК.
Раздел Предметы > «Holly» (ягодка) > выделить и нажать внизу ОК.
Раздел Предметы > «Cloud»Облако > выделить и нажать внизу ОК.
Тем самым, все спрайты должны быть под сценой в одном ряду, как на картинке выше.
Шаг третий: корректировка спрайтов
Нажимаем на каждый спрайт и переходим во вкладку Костюмы. Нужно оставить только один костюм, поэтому второй просто удаляем крестиком сверху или нажимаем правой кнопкой мыши по костюму и в появившемся меню выбираем пункт удалить.
Для того, чтобы написать текст «Restart», воспользуйтесь алгоритмом указанным для написания текста на фоне.
Шаг четвертый: код для спрайта вертолета
Под сценой выделяем спрайт вертолета и переходим во вкладку Скрипты (она рядом с костюмами). Справа у вас будет пустая рабочая зона, куда и необходимо будет перетаскивать элементы из палитры. Здесь каждый блок имеет свой цвет, поэтому ориентируйтесь на него и ищите элементы по цвету. Собирать цепочки можно в любой части рабочей зоны и на работу программы это никак не повлияет.
Управлять вертолётом мы будем стрелками на клавиатуре, поэтому для каждой стрелки есть код.
Чтобы сделать оранжевый элемент «Счет», заходим в категорию Данные — Создать переменную, печатаем на клавиатуре слово «Счёт» и нажимаем ОК — автоматически появятся блоки оранжевого цвета для работы с переменной.
Шаг пятый: код для облака
Под сценой выделяем спрайт облака.
Шаг шестой: код для кнопки
Под сценой выделяем спрайт кнопки.
Шаг седьмой: код для ягодки
Под сценой выделяем спрайт ягодок.
Шаг восьмой: код для фона
Выделяем фон слева внизу.
Шаг девятый: сохранение игры
Сверху на рабочей панели выберите пункт Файл и нажмите кнопку Сохранить сейчас. Можно сохранять в онлайне, а можно — сразу на компьютер. Под словом Файл есть белое поле. Здесь можно написать любое название вашего проекта.
Шаг десятый: запуск игры
Как и было указано в коде, игра будет запускаться только при нажатии на зеленый флажок. Остановить её можно красной кнопкой рядом с флажком.
Комментарии (15)
handicraftsman
01.03.2016 15:51Я считаю, что начинать обучаться программированию надо не с графической игрушки, а с простого языка + простой графической библиотеки. Скажем, Vala или Lua (ну или Python) в связке с GTK.
sm00ther
01.03.2016 18:26Мне кажется, нужно в первую очередь заинтересовать ребенка. Все дети разные, ко всем свой подход.
Автору спасибо, как раз своего хочу познакомить с программированием, хоть ему пока и чуть больше года, но пора уже думать об этом.EkaterinaEduCraft
01.03.2016 21:50Согласен все дети разные и подход к каждому должен быть индивидуален. Путь необходимо выбирать исходя из целей и начальной точки. Рада, что вам понравилось, будем стараться дальше.
handicraftsman
03.03.2016 15:37Чем-то согласен со sm00ther — для заинтересования игры будут неплохи (в самом начале!), а потом потихоньку переводить на код. Как минимум потому, что обычно у него больше возможностей и он более модульный.
potan
01.03.2016 17:12+1По моему, геймификацией в обучении было бы не разработка игры, а сама игра, а которой приходится программировать. Когда по счету можно успехи ученика оценить.
Что-то типа Colobot, только по проще, для совсем начинающих.EkaterinaEduCraft
01.03.2016 21:59Да Colobot очень интересный проект, мы изучали данное приложение и можем заключить, что играть в него лучше с возраста 12 — 14 лет (в зависимости от подготовки). Однако Scratch скорее язык программирования со средой разработки, а не игра. И возможно, в ближайшем времени мы увидим новые инструменты/игры, помогающие превратить ребенка в создателя/творца своих проектов.
vlad_sh
01.03.2016 22:10Между прочим, Scratch используется не только для детей, но и в процессе обучения в высших учебных заведениях. Например, в легендарном Гарвардском курсе CS50.
EkaterinaEduCraft
01.03.2016 22:13vlad_sh, спасибо за данный комментарий. Действительно это очень полезный инструмент для быстрого и легкого создания прототипа.
scratch_book
02.03.2016 14:45Спасибо за статью!
Однако в программе есть пара неточностей.
Блок "повторять пока не" надо заменить на "ждать до", и добавить вертолету блок "стиль вращения вправо-влево", а то он будет лететь влево вверх ногами.EkaterinaEduCraft
02.03.2016 16:30Денис (@scratch_book), спасибо за конструктивный отзыв. Добавим данные корректировки.
shperk
02.03.2016 15:48Статья странная. Я бы на месте автора рассказал прежде всего не об программировании блоками (это умеет делать и Blockly, использующий тот же язык, и на сайте code.org есть куча подобных задачек для детей).
У scratch самое интересное — это его сообщество. Ребенок, придя на сайт Scratch, попадает в правильное сообщество созидателей. Там можно и поиграть, но, играя, еще и одновременно "переворачивать листок" и подсматривать, как это сделано. И — переделать, доделать чужую работу (по сути, это такой github для детей).
Впрочем, и за эту статью спасибо. Вижу, что для многих читателей сам факт существования Scratch оказался открытием. Так что, наверное, у вас есть своя благодарная аудитория.
Теперь пару комментариев от занудливого учителя информатики, который уже много лет использует Scratch с детьми.
Коллега совершенно верно поправил выше весьма идиотское применение блока "повторяй пока". Подобное применение абсолютно методически безграмотно и может выработать у ребенка неправильный паттерн использования конструкций.
К сожалению, вы решили не описывать в этом проекте свойства спрайтов, в результате чего при нажатии стрелки вверх вертолет будет лететь винтом вбок, что абсолютно не вяжется с естественным положением вещей. Если на этом этапе не хочется говорить о свойствах объектов (в частности, о "поворачиваемости"), то стоило бы использовать другой объект — птичку или ракету.
С другой стороны неоправданным представляется использование клонов в программе начального уровня. Без них вполне можно было бы обойтись, просто продублировав спрайты. было бы полезнее.
Как это часто бывает, когда за создание учебных заданий для детей берутся не педагоги, а простые обыватели, эти задания выглядят очень случайными. Впрочем, скратч таков, что его не испортишь даже самым дилетантским подходом. Так что ждем новых материалов, и не бойтесь ошибаться.AVGEdu-craft
03.03.2016 12:33Как грубо. Спасибо за ваш отзыв. Данная статья и не позиционируется как методическое пособие. Однако спасибо, что вкратце рассказали про сообщество Scratch.
Как профессиональный программист, скажу что множественное использование спрайтов, взамен клонирования, также может создать у ребенка неправильные паттерны. А отучить детей от этого практически нереально.
johny24
Огромнейшее, человеческое спасибо за Вашу статью!!! Сколько же я искал что то подобное для своего младшего брата, то что он пользуется огромным количеством современных гаджетов это да, от смартфона и компьютера с Майнкрафтом, до квадрокоптера с видеокамерой. Но это все не то, мне хотелось показать ему именно сторону разработчика, понятным языком (хотя таковым не являюсь, но всегда было жутко интересно, как же там внутри устроенно, и кое в чем разбираюсь). писали с ним простейшие функции на javascript, делали однорукого бандита на jquery, и иногда у него проскакивал блеск в глазах, видя, как получается настоящая "магия", которую мы сделали только что вместе, ну а теперь с таким сервисом… Еще раз спасибо!
EkaterinaEduCraft
johny24, Спасибо большое за такие теплые слова. Я очень рада, что наша статья стала полезной для вас и если появятся вопросы, пожалуйста, пишите мне.
johny24
На выходных хотим попробовать, если появятся, конечно напишем, спасибо!