Основы работы в программе Scratch (программирование игр)
Потенциал среды программирования Scratch в организации проектной научно-познавательной деятельности школьника. Примеры практического программирования в Scratch, его использование в качестве инструмента для моделирования объектов, процессов реального мира.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.01.2018 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
9
Размещено на http://www.allbest.ru/
КУРСОВАЯ РАБОТА
Тема: Основы работы в программе Scratch (программирование игр)
Новокузнецк, 2017
Содержание
- Введение
- 1. Теоретические основы SCRATCH
- 1.1 Потенциал среды программирования Scratch в организации проектной научно-познавательной деятельности школьника
- 1.2 Начало работы
- 2. Примеры практического программирования в SCRATCH
- 2.1 Мультипликация
- 2.2 Взаимодействие объектов - кошка убегает от мышки
- 2.3 Использование геометрических фигур
- 2.4 Игра с буквами
- 2.5 Случайные надписи на экране
- 2.6 Модель битвы драконов и демонов
- 2.7 Управление через обмен сообщениями
- 2.8 Сказка про Зайца и Лису
- 2.9 Сказка про репку
- 2.10 Скретч-квест
- Заключение
- Список литературы
Введение
Mы живем в эпоxу, когда знание переcтaлo быть чем-тo oдним. Рaзделeннaя нa "нaуку" и "диcциплину", oнa тeряeт свoю гaрмoничную целoстноcть и прeдстает перед нами в виде закрылков, из которых вырезана картина мира.
Школьное и профессиональное образование - не что иное, как изучение отдельных фрагментов этого пятнистого витража.
Можно ли сегодня считаться образованным человеком, не замечая и не понимая связи между элементами реальности? Вероятно, ответ на этот вопрос будет отрицательным.
Многие исследователи считают, что корни проблемы распространяются на организацию обучения. Например, Алан Кей, который интересуется не только "высокой" наукой, но внимательно следит за обучением детей, считает, что необходимо как можно скорее дать ребенку мощный "инструмент для мышления". Основная цель этого инструмента - знание нового и создание связей между известными, развитие не только аналитического, но и синтетического мышления.
Психологическая наука говорит, что возраст младших школьников находится в чувствительный период, когда он способен сознательно выполнять частичную поисковую деятельность. Это хорошо сочетается с использованием метода проекта, который особенно эффективен в послешкольной форме образования и способствует усвоению знаний путем решения проблемных ситуаций.
В последние годы язык (и среда) программирования Scratch стал очень популярным (Scratch читается). Это не просто поворот речи: Scratch занимает 24-е место среди всех самых популярных языков программирования, включая C, Java, C ++, C #, PHP, Pascal и другие.
Двадцать четвертое место - на "игрушечном" детском языке (кстати, у Logo - 32). Это можно объяснить только огромной потребностью как педагогического сообщества в целом, так и самих детей в средствах "мышления", изучения и выражения себя.
К сожалению, Россия не входит в число стран, которые активно заинтересованы в Scratch.
Scratch был создан в Squeak3, который сам заслуживает специального разговора. Главный идеолог Scratch - студент из Пейптэра Митч Резник из MIT Media Lab (Массачусетский технологический институт, тот же университет, где в 1968 году С. Паперт разработал логотип). Возможно, язык распространился так быстро, потому что он не был создан для изучения программирования. Scratch, с точки зрения теории, является объектно-ориентированным языком с возможностью создания многопоточных программ.
С практической точки зрения это простой в освоении, красивый, мощный инструмент, который не требует двухмесячного исследования, прежде чем вы сможете написать программу для решения квадратного уравнения. Нет двух месяцев и, при необходимости, нет квадратичных уравнений.
Вы можете написать сразу, через десять минут знакомства с основами. И в отличие от BASIC, на котором начать писать также очень легко, Scratch не поощряет плохой стиль программирования. Напротив, "правильные" программы на Scratch легче писать, чем "неправильные". Графика, анимация, музыка, видеоэффекты и в то же время классическое ориентированное на события объектно-ориентированное и модное параллельное программирование. Каждый может взять все, что ему нужно сейчас. И затем двигаться дальше.
Объектом исследования в работе является язык программирования Scratch.
Предметом исследования являются основы и принципы программирования на языке Scratch.
Цель работы - изучить основы работы в Scratch, в частности, игровое программирование.
Задачи: проанализировать теоретическую основу Scratch, а также рассмотреть конкретные примеры.
1. Теоретические основы SCRATCH
1.1 Потенциал среды программирования Scratch в организации проектной научно-познавательной деятельности школьника
Средa прoгpаммиpoвaния Scratch - этo, прeждe всeгo, сиcтeмa программирования, которая имеет всe нeобхoдимые aтрибуты.
У Scratch есть своя программа текстового редактора, построенная на интересной идее конструкторов Lego: все языковые операторы и другие ее элементы представлены блоками, которые могут быть связаны друг с другом, формируя скрипт (фрагмент кода).
Важной особенностью блоков является их "специализация": существует несколько типов блоков, и их можно компилировать не произвольно, а только по их назначению. Поэтому в дизайнере Lego не каждая деталь может быть объединена с любым другим.
Это ограничивает количество возможных вариантов подключения и, соответственно, исключает возможность синтаксических ошибок. Кроме того, есть переводчик, унаследованный от Squeak, и отладчик, который позволяет запускать программы в пошаговом режиме.
Как язык программирования, Scratch - это своего рода объектно-ориентированный язык, наследник первого объектно-ориентированного языка Smalltalk.
Такая родословная Scratch позволяет программисту свободно использовать ее в качестве инструмента для моделирования объектов и процессов реального мира.
Встроенная и интуитивно понятная графическая языковая подсистема позволяет легко визуализировать динамику модели, а также включать элемент интерактивности.
Одной из важнейших особенностей Scratch как языка программирования является его ориентированный на события характер. Это означает, что все объекты взаимодействуют посредством обмена сообщениями. Такая схема обмена информацией делает Scratch близкой к современным объектно-ориентированным языкам и позволяет более легко организовать переход к изучению Java, Delphi, C # и т.д.
Scratch - это язык, на котором последовательно реализуется идея многопоточности. Каждый скрипт любого объекта запускается в отдельном потоке. В отличие от процедурных языков, в которых предполагается выполнение последовательного кода, скрипты могут выполняться параллельно в Scratch. И никаких дополнительных действий не требуется: все это особенности языка.
Наконец, нет другого языка программирования, который бы имел возможность писать программы, которые могут получать информацию извне (из реального мира) без помощи клавиатуры и мыши. Если у вас есть специальное устройство, подключенное к USB-порту, программа на Scratch может "слышать" звуки, "чувствовать" освещение в комнате, "чувствовать" движения пользователя и выполнять различные действия в соответствии с полученной информацией.
Таким образом, мы можем выделить следующие имманентные свойства Scratch, которые имеют значительный педагогический потенциал:
1) Простота и удобство интерфейса позволяет начинать обучение программированию, как только дети учатся читать;
2) редактор текстов в качестве дизайнера позволяет на подсознательном уровне превратить "изучение" в "не изучаемый", а кроме того - уменьшить количество ошибок в программе;
3) ориентация на график, поскольку эффективность обучения подтверждается поддержкой визуально-образного мышления.
Ориентация объекта позволяет изучить основные способы создания программ с объектами. Обратите внимание, что Scratch - это своего рода объектно-ориентированный язык. В нем отсутствуют концепции, без которых многие даже не представляют объектно-ориентированную технологию. Например, при изучении Scratch ученик не описывает классы, не использует полиморфизм, не создает деревья наследования, не инкапсулирует инкапсуляцию. Существует объект, его поля и методы (переменные и скрипты). Но отсутствие этих понятий создает трудности для программирования, особенно заметно при разработке сложных проектов. Многочисленные повторения кода приводят, в конце концов, к идее наследования, многочисленным однотипным сообщениям для разных объектов - идеям полиморфизма и абстрактных классов. Легкость изменения полей (и совершение ошибок с такими изменениями) приводит к идее сокрытия данных, то есть инкапсуляции. В то же время важно, чтобы эти идеи не были переданы учителем неподготовленному ученику (даже для студентов 1-го и 2-го курсов физико-математического факультета эти концепции слишком абстрактны), но они самогенерированы и затем падают на подготовленную почву.
Ориентация на обработку событий способствует формированию мета-понимания для установления причинно-следственных связей, развития логического мышления, закладывает основы системного мировоззрения посредством демонстрации систем как объектов со ссылками. Наблюдая за поведением таких объектов, ученик приобретает способность отделять существенные атрибуты объекта от несущественных. Такая аналитическая и синтетическая работа характерна для начальных этапов исследований и разработок (Н.А. Менчинская).
Многопоточность позволяет не просто создавать модели объектов, но создавать модели действительно сложных систем и без лишних технических трудностей. Кроме того, параллельное программирование сегодня является чрезвычайно популярной технологией, что делает раннее знакомство детей с ним полезным с точки зрения будущего профессионального руководства.
Условия проектирования. Scratch - это не только язык программирования, но и хорошая среда для деятельности проекта, поскольку все необходимое для таких мероприятий включено в его состав. В дополнение к вышеупомянутому редактору, компилятор и отладчик:
графический редактор для создания и модификации визуальных объектов;
библиотека готовых графических объектов (некоторые из них содержат наборы скриптов);
библиотека звуков и музыкальных фрагментов;
большое количество примеров.
Scratch не включен в среду, но он также играет важную роль в динамичном и дружественном сообществе поклонников Scratch, которые могут быть подключены через Интернет. В сообществе, организованном в Массачусетском технологическом институте (США), вы можете публиковать свою работу, слушать похвалу и критику, находить единомышленников и изучать новые идеи. Одной из основных особенностей Scratch является то, что проекты распространяются с исходным кодом, поэтому в принципе нет идеи авторского права (или почти нет). Поскольку мы не говорим о коммерческих разработках, это не приводит к неудовлетворенности. Напротив, благодаря этой свободе возможен быстрый обмен мыслями, который может влиять только на количество работ с открытым доступом.
Несмотря на то, что каждая работа может занять и заимствовать код оттуда, повторная работа (плагиат) очень мала. И это несмотря на то, что заимствование кода приветствуется. По-видимому, существует процесс самоорганизации, посредством которого банальный плагиат трансформируется в заимствование и развитие идей.
Давайте проиллюстрируем возможность реализации междисциплинарных проектов. Это междисциплинарность, которая позволяет студенту создать единый образ мира, преодолевая мосты между разными, иногда на первый взгляд, между науками. В этом случае возможности царапин неоценимы, потому что они не только доступны представителю точных наук. Например, учитель-призрак может создавать динамические и интерактивные презентации с помощью Scratch.
Обратите внимание, что работа в среде с нуля может быть организована как индивидуально, так и коллективно. Разделение функций и ролей между участниками проекта может основываться на следующих принципах:
по функции или роду деятельности (сценарист, художник, программист и т.п.);
по частям проекта (каждый участник выполняет одновременно несколько ролей, разрабатывая свою часть общего проекта).
Метод первого деления можно использовать в группах разного возраста, группы с различным опытом в проектной работе, в которых учащиеся имеют разные способности или способы мышления в гетерогенных группах. Второй метод подходит для однородных групп. Однако эти рекомендации носят не суровый характер и могут варьироваться в зависимости от ситуации.
Модельная среда. Эти особенности Scratch делают его очень удобной, почти идеальной средой для моделирования.
Моделирование - один из самых универсальных методов восприятия реальности. Для нас в данном контексте важно его образовательный потенциал, а также возможность реализовать этот потенциал на месте.
Ментальный образ модели основан на анализе исследуемого объекта и может быть представлен его компонентами и связями в основных элементах языка. В нашем случае идеальный объект моделирования разделяется на компоненты, а затем воссоединяется (синтезируется) в новой среде, отличной от мозга, а именно в среде царапины: происходит объективация идеальной структуры. Такой подход типичен для построения модели, заставляя учеников простейшие аналитические и синтетические действия.
Следующим шагом после создания модели является проверка ее адекватности и, при необходимости, коррекции. Тестирование выполняется в игровом режиме с помощью модели. Это не наблюдение столбцов цифр, а не стремление к колебаниям абстрактных графов, а именно к игре. Автор замечает ошибки, неточности и ошибки во время игры. Затем он соотносит их с кодом и вносит необходимые исправления. Обратите внимание, что фаза анализа очень сморщена на многих курсах моделирования. Это связано с тем, что результаты моделирования слишком абстрактны и не вызывают сочувствия среди учеников. С моделями на "царапине" интересно играть, и если что-то не так в "игре", вы можете легко исправить ошибку.
Среди моделей Scratch вы можете выбрать: простую или интерактивную анимацию; феноменологическая модель объекта, процесса или явления; математическая модель.
Давайте поясним, что может быть очень простая программа для реализации математической модели, которая очень сложна для интерактивной анимации.
Таким образом, Scratch отличается от других языков программирования, используемых в школе, от первоначального внимания до создания моделей и работы с моделями. Это делает его незаменимым инструментом для организации научной и познавательной деятельности в проекте.
Среда для творчества. Было бы неправильно представлять Scratch как средство организации учебных занятий. Он также может быть использован как инструмент творчества. В Интернете большое количество проектов исключительно эстетической ориентации. Большое количество визуальных эффектов делает Scratch очень привлекательным как средство самовыражения. Несмотря на отсутствие "научных", такие проекты являются лишь первым шагом на пути к более серьезной научной и познавательной деятельности студентов, потому что с ростом чемпионата растут и здоровые амбиции создателей. Я хочу новые идеи, новые инструменты, которые приводят автора "творческих" проектов к "исследовательским проектам" (слова здесь включены в цитаты, потому что часто бывает сложно провести линию между различными проектами).
Обратите внимание, что Scratch может использоваться как единый инструмент для разных возрастов и способов мышления. Практически с того момента, как ребенок научился читать (и раньше: просто в этом случае блоки языка считаются своего рода иероглифами) и до 14-16 лет.
Таким образом, мы будем образовательным потенциалом как сочетание ресурсов, навыков и способностей среды Scratch.
Под ресурсами Scratch все его функции понимаются как язык и система программирования. Прежде всего, они включают: объектную ориентацию; Поддержка событийного программирования; параллельное выполнение скриптов; удобный интерфейс; разумное сочетание абстракции и ясности; Организация текстов программ из элементарных блоков; Доступ к интерактивным программам из-за реального мира с помощью дополнительного устройства; библиотека встроенных объектов; встроенные редакторы; Активное онлайн-сообщество пользователей.
Учетные функции включают проектирование их ресурсов в психолого-образовательных и методологических планах, то есть те атрибуты, которые производятся непосредственно из денежных ресурсов. Основными особенностями Scratch являются те, которые нацелены на: изучение основ алгоритмизации; исследование объектно-ориентированного программирования на основе событий; знание технологии параллельного программирования; моделирование объектов, процессов и явлений; организация проектной деятельности, как индивидуальная, так и групповая организация научной и познавательной деятельности; установление межсубъектной коммуникации в процессе проектирования и научно-познавательной деятельности; организация круглой работы, посвященной художественному творчеству.
Способность скребка определяется нами как проявление его способностей в отношении развития личностных качеств учащихся. Потенциал этого контекста заключается в вероятностном характере цели функций Scratch.
Основными опухолями являются:
Ответственность и приспособляемость
коммуникативные навыки
творчество и любопытство
критическое и системное мышление
Возможность работать с информацией и средствами массовой информации
Межличностное взаимодействие и сотрудничество
способность решать проблемы
сосредоточиться на социальной ответственности за саморазвитие
Таким образом, воспитательный потенциал среды программирования Скретч рассматривается как перспективный инструмент e? (метод) организация mezhdisiplinarnoy внеучебной проекта научно-познавательной деятельности учащихся, направленных на его личностного и творческого развития.
И, наконец, эти особенности в Scratch влияют на развитие таких личных характеристик ученика:
Ответственность и приспособляемость
коммуникативные навыки
творчество и любопытство
критическое и системное мышление
Возможность работать с информацией и средствами массовой информации
Межличностное взаимодействие и сотрудничество
способность решать проблемы
Сосредоточьтесь на саморазвитии
социальная ответственность
Таким образом, в качестве средства организации научной и познавательной деятельности школьницы мы выделяем внеучебный проект:
1) использование среды программирования Scratch как позвоночника;
2) осуществление научно-педагогических проектов междисциплинарного характера;
3) работа над реализацией проектов в разных возрастных группах.
Для наиболее существенных особенностей предлагаемой модели упражнений с дополнительными ставками мы включаем:
1) выполнение проектов в среде программирования Scratch (с возможностью последующего переключения в другие среды);
2) Возможность индивидуальной и групповой работы (входит в разные возрастные группы);
3) работать на выбранном уровне сложности;
4) Отсутствие строгих правил, что подразумевает возможность не участвовать в занятиях, выполнять задания и т.д., Т.е. индивидуальный образовательный путь для каждого учащегося;
5) система без маркировки для оценки;
6) свободный выбор предметов в работе с поощренной полидисциплинарностью;
7) защищать проект как один из самых важных правил;
8) возможность свободно обмениваться мнениями как в группе, так и с коллегами;
9) Равенство "научных" и "креативных" проектов.
Выберем несколько типов проектов, выполняемых в среде Scratch:
музыкальный проект;
анимация;
комиксы;
интерактивные игры;
графика;
с элементами искусственного интеллекта (AI);
Образовательная презентация
учебная модель, демонстрационный эксперимент
учебная программа.
По содержанию проекты делятся на свободные и предметы (например, в рамках школьной дисциплины).
Для успешной работы в среде Scratch желательно, чтобы студент имел предварительную практику работы с компьютером, включая знания и навыки в следующих областях:
o назначение основных компьютерных устройств для ввода и вывода информации;
o включении и выключении компьютера и устройства, подключенные к нему;
в операционной системе MS Windows: рабочий стол; панель задач; марки; файлы и папки; имя файла; размер файла; съемные носители; адрес файла; операции с файлами и папками; писать навыки на компьютере; техника для работы с мышью; окна и их элементы; начать и завершить программу.
Для общих педагогических навыков, которые студент должен иметь для успешного входа в этот курс, умение читать.
Как вы можете видеть, эти требования к специальным (связанным с информационной технологией) и общим образовательным навыкам минимальны и позволяют вам выполнять занятия в среде Scratch уже в начальной школе. Кроме того, деятельность руководителя проекта младшей школьной строки тесно связана с коммуникативной, игривой и эстетической и по существу творческой.
среда программирование scratch
1.2 Начало работы
Рисунок 1 - Экран программы Скретч
Рисунок 2 - Панель управления и отображения режимов
Чтобы начать работать в среде Скретч, достаточно кликнуть указателем мышки по ярлыку Скретч. Появится экран программы Скретч (рисунок 1).
Правая часть. Справа расположена большая область, на которой находится главный герой программы. В эту область можно добавлять новые программируемые объекты.
Существуют следующие способы добавления объектов:
Нарисуйте самостоятельно - нажав на кисть объекта;
получить из папки - щелкнуть по папке объекта и выбрать из множества подпапок с картинками животных, растений, персонажей приключений;
Вы можете получить случайный объект - значок с вопросом.
Элементы управления и режимы отображаются на панели, показанной на рисунке 2:
1) Зеленый флаг действует как сигнал, воспринимаемый и уважаемый всеми объектами, присутствующими в проекте;
2) Кнопка Red Stop - останавливает перемещения и действия для всех объектов;
3) Три разных монитора в правой верхней части - 3 разных режима: для работы с нетбуками с небольшим экраном, режимом работы по умолчанию, полным отображением в режиме презентации.
Левая часть. Команды расположены в виде блоков в коробках в левой части экрана. Если синий ящик открыт, пользователь видит команды движения, которые находятся в этом поле:
фиолетовый - внешний вид - изменение внешнего вида;
синее движение - движущиеся объекты
фиолетовые - звуки - звуки, ноты и множество инструментов;
зеленые числа - операции с числами, сравнение, логические операторы;
желтый - контроль - управляющие операторы;
светло-зеленый - перо - возможность рисовать на экране;
Синие датчики - Датчики и способность определять направление, расстояние и т.д.
Красные переменные - Переменные, которые могут быть отправлены в сценарии и которым могут присваиваться значения от датчиков.
Пока слои находятся в поле, они не активны. Вы можете нажать на них, но ничего не произойдет. Чтобы выполнить команду, вы должны поместить эту команду в центральную зону серого.
Центральная часть показана на рисунке 3.
Рисунок 3 - Центральная часть
2. Примеры практического программирования в SCRATCH
2.1 Мультипликация
Для мультипликации потребуется:
костюм кошки cat2 из библиотеки Animals;
графический редактор Скретч;
кирпичики из фиолетового ящика внешности;
переменные, созданные в ящике "Переменные";
Берем костюм кошки из библиотеки, переходим в режим костюмы и копируем костюм cat2. Появляется костюм cat3 - точная копия cat2. Создадим две версии костюма кошки, и в одной версии кошка будет с голубыми линзами, а в другой с черными.
Чтобы было заметнее, у голубоглазой кошки еще и хвостик уберем. Эту копию отредактируем в графическом редакторе Скретч. Кисточкой подрисуем кошке синие глазки, ластиком уберем хвостик (рисунок 4).
Рисунок 4 - Убрать хвост
Рисунок 5 - Создание переменной
Теперь попробуем управлять внешним видом кошки и сделаем это поведение неожиданным для себя. Для этого воспользуемся оранжевым ящиком переменных.
Ящик с переменными изначально пуст. Значения в этом ящике появляются только в результате действий пользователя. Создадим новую переменную с именем cat-name (рисунок 5).
Обратим внимание, что при создании переменной программа спрашивает, нужно ли, чтобы эта переменная была глобальной - доступной для всех объектов, или эта переменная будет действовать только для данного объекта. В этом случае другие объекты ничего об этой переменной знать не будут.
После того как переменная создана, можно со значением этой переменной совершать действия. Можно присваивать переменной любые числовые значения и менять ее значения на числовые значения (увеличивать или уменьшать)
Присвоим переменной значение, которое выдаст датчик случайных чисел от одного до двух. Иногда этот датчик будет выдавать число 1, иногда 2 (рисунок 6).
Рисунок 6 - Присвоение переменной значения, выдаваемого датчиком случайных чисел
Рисунок 7 - Кошка мигает линзами разного цвета и поджимает хвостик
На рисунке 6 кошка в ответ на запуск программы говорит "0", но в среде Скретч она с равной вероятность говорит "0" и "1". Дальше поставим управляющие кирпичики блока из желтого ящика. Главное в этом рецепте - блок выбора "Если или ":
если значение переменной = 1, то кошка надевает голубые линзы и прячет свой хвост;
если значение переменной = 2, то кошка надевает черные линзы.
Теперь на экране кошка мигает линзами разного цвета и поджимает хвостик (рисунок 7).
Рассмотрим способы улучшения рецепта:
можно добавить из фиолетового ящика графические эффекты и кошка будет становиться толще или искривляться;
можно добавить из синего ящика команду движения и кошка будет не только менять внешний вид, но и ходить по экрану (рисунок 8).
Рисунок 8 - Добавление графических эффектов и движения
Рисунок 9 - Создание нового сообщения
Будем использовать готовую кошку в следующем примере, где ей предстоит гоняться за мышкой.
2.2 Взаимодействие объектов - кошка убегает от мышки
Допустим, нужно собрать мультфильм, в котором кошка будет преследовать мышку.
Для мультипликации потребуется:
кошка, которая была сделана в предыдущем примере;
мышка из библиотеки Animals;
кирпичики обмена сообщениями из рыжего желтого ящика;
датчики из голубого ящика;
Несколько видоизменим действия кошки из предыдущего примера.
Во-первых, она будет перемещаться не случайно, а в направлении мышки.
Во-вторых, добавим условие завершения работы всей модели. Если кошка коснулась мышки, то она передает ей сообщения "Я тебя съем" и заканчивает выполнение всех программ.
Новым в этом примере будет создание нового сообщения (рисунок 9).
По созданному сценарию кошка поворачивается в направлении к мышке, двигается к ней и успешно ее ловит (рисунок 10).
Рисунок 10 - Результат работы сценария
Рисунок 11 - Установка случайных координат
Теперь усложним кошке задачу и научим мышку убегать от кошки.
Во-первых, пусть кошка в начале игры появляется в случайном месте экрана. Для этого используем команды установить x и установить y и передадим им случайные значения внутри рабочего экрана (рисунок 11).
Во-вторых, научим кошку исчезать, если кошка ее поймала:
Когда я получу сообщение "Я тебя съем" - спрятаться.
В-третьих, научим мышку убегать от кошки.
Рисунок 12 - Использование датчика
Рисунок 13 - Рисование фигуры
Для этого будем использовать датчик. Мышка будет спокойно сидеть на месте, пока кошка не подойдет к ней на расстояние 90 шагов. Как только это случиться, мышка повернется в ту же сторону, что и кошка, несколько отклонится от этого направления и перебежит в новую точку (рисунок 12).
В результате получена первая игровая модель, с которой можно экспериментировать.
Улучшить пример можно следующими способами:
можем подобрать значения угла поворота, при котором мышка никогда не попадется в лапы кошке;
можем поместить мышку и кошку в среду, где им придется решать дополнительные задачи - обходить препятствия, реагировать на цвета и т.д.
2.3 Использование геометрических фигур
Кошка Scratch является потомком старого логотипа черепахи и вежлив для более старых родственников, чтобы показать, что наша кошка может рисовать геометрические фигуры не хуже ошибок. Большинство геометрических моделей, которые были выполнены с логотипом черепах и другими художниками, могут быть реализованы в среде лотереи.
Для этого чертежа вам понадобятся:
блоки управления - "всегда" и "повторять" из желтой коробки;
переменные, которые мы хотим сделать в оранжевой коробке. В этом проекте есть 2 локальные переменные: количество сторон многоугольника. И угол поворота. Количество страниц задается самим собой, и угол выбора подходит для выбора;
смещение кирпичей из синей коробки;
Рисование кирпича из зеленой коробки.
В этом проекте мы учим кошку рисовать фигуры (рис.13):
выбрать случайное число страниц с рисунком N (3, 4,5);
В зависимости от количества страниц определите угол (360/N);
Нарисуйте фигуру, которая постоянно увеличивает длину страницы.
В начале работы мы очищаем экран и устанавливаем нашего исполнителя в определенную точку на экране. Эта последовательность:
чистый;
поднять ручку;
перейти к () ()
Будет часто использоваться в проектах. Затем пусть исполнитель выбирает из диапазона заданных чисел, сколько страниц будет на исходном полигоне.
Длина страницы настраивается на количество страниц. На каждом шаге после поворота практик увеличивает размер страницы на 5 единиц. В результате на экране появляется красивый рисунок.
Вы можете улучшить пример следующих способов:
"Мы можем изменить не только длину шага, но и размер пера, нарисованный художником и градиентом цвета;
можно добавить к этому рецепту строительные блоки в синей коробке и начать контролировать поведение практикующего, поместить его на кнопку мыши.
На рисунке 14 показано, как можно рисовать на экране.
Рисунок 14 - Рисование на экране
Рисунок 15 - Слово "SUPERCODE"
Этот пример может улучшаться в сторону создания собственного графического редактора.
2.4 Игра с буквами
В этом проекте продолжим рисовать на экране, но будем делать это при помощи букв. Нужно написать на экране слово для конкурса Суперкод (рисунок 15).
Для этого примера потребуются:
костюмы из галереи буквы - Letters;
графический редактор Скретч;
команды контроля;
кирпичики рисования;
кирпичики движения
К сожалению, Скретч пока не позволяет писать на экране русскими буквами.
Самый простой способ написать текст на экране это - создать спрайт, на костюме которого будут написано нужное слово. Например, можно набрать нужное слово в графическом редакторе (рисунок 16).
Рисунок 16 - Набор слова в графическом редакторе
Рисунок 17 - Изменение цвета букв
Но не будем использовать легкий и одношаговый путь. Соберем в костюмы несколько нужных букв. Создадим новый объект и загрузим в него несколько форм, в которые он может наряжаться:
SUPERCOD
Новые формы или маски добавляются кнопкой Импорт. Можно редактировать формы - кнопка Редактировать. В данном случае просто поменяем цвет букв с черного на красный (рисунок 17).
Написать слово. Теперь нужно написать слово SuperCode. Рассмотрим алгоритм:
встань в центр экрана (x=0, y=0);
надень на себя маску S;
окрась свой карандаш в белый цвет (чтобы не оставлять следов на экране);
повтори 8 раз;
опустить карандаш;
отпечатать свое изображение;
поднять карандаш;
надень маску следующей буквы;
пройти вперед 18 шагов.
Для последней буквы E делаем специальные команды - надень маску + отпечатай свою форму на экране (рисунок 18).
Написать слово по кругу. Перейдем к использованию возможностей программирования. Если что-то сделано один раз и собрано в готовый блок, то можно повторить несколько раз:
Все, что было сделано для одного слова, повторим 10 раз. После каждого слова будем поворачиваться на 36 градусов.
Результат показан на рисунке 19.
Рисунок 18 - Алгоритм написания слова и его результат
Рисунок 19 - Программа и результат ее выполнения
Пример может развиваться, если пополнить библиотеку русскими буквами и писать на русском языке. Еще одно направление развития этого примера представлено в следующем примере "буквописателя".
2.5 Случайные надписи на экране
Продолжим рисовать буквами на экране и создадим безумного буквописателя, который будет заполнять стену буквами.
Для создания такого писателя потребуются:
две уже знакомые команды из зеленого ящика: очистить и печатать;
команды из фиолетового ящика: установить размер и следующий костюм;
команды из оранжевого ящика: всегда и повторить;
случайное значение из ящика чисел.
Главная хитрость примера состоит в получении случайной буквы, которая будет отпечатываться на стене. Для получения этой буквы используется конструкция:
Поменяй костюм случайное число раз от 1 до 40 (рисунок 20).
В результате писатель успешно справляется с поставленной задачей и разукрашивает стенку загадочными словами (рисунок 21).
Рисунок 20 - Алгоритм и результат его выполнения
Рисунок 21 - Результат разукрашивания стены загадочными буквами
Развитие проекта может идти в сторону написания более осмысленных фраз.
2.6 Модель битвы драконов и демонов
От простого проекта, в котором кошка меняла цвет линз перейдем к проекту со множеством действующих персонажей. Скретч - это мультиагентная, покажем это на примере. Понадобятся знакомые конструкции, и в начале будем иметь дело только с одним объектом. Этот объект может надевать на себя два разных костюма - дракона и демона (рисунок 22).
По щелчку зеленого флажка наш герой занимает случайное положение на экране и надевает на себя одну из масок - дракона или демона (рисунок 23). Маска зависит от значения переменной (как это уже было с кошкой).
Рисунок 22 - Костюмы дракона и демона
Рисунок 23 - Алгоритм и результат его выполнения
Теперь разрешим герою перемещаться по экрану: герой меняет костюмы, проходит 10 шагов, поворачивается в случайном направлении и не покидает пределов экрана. Если он родился в костюме демона, то все эти действия он и совершает демоном. Если он родился драконом, то он ведет себя как дракон (рисунок 24).
Теперь введем неожиданное предположение, что герой может встретить игрока другой команды. Например, зеленому дракону на пути может встретиться красный демон и он под воздействием этой встречи с красным может превратиться в демона (рисунок 25).
Рисунок 24 - Алгоритм перемещения дракона по экрану
Рисунок 25 - Встроеча игрока другой команды
Или наоборот, красному демону может встретиться зеленый дракон и он может под воздействием встречи с зеленым может превратиться в дракона (рисунок 26).
Подчеркнем, что превращение носит необязательный характер. Может превратиться или не превратиться с вероятностью 50%.
На рисунке 27 представлен фрагмент действий нашего героя, если он действует в обличии демона.
Рисунок 26 - Превращение дракона
Рисунок 27 - Действие героя в обличии демона
Команда на этом не заканчивается и ниже идет запись ИЛИ:
Вести себя как дракон, а если коснешься красного демона, то можешь превратиться в демона.
И теперь возникает справедливый вопрос: откуда возьмутся все эти другие демоны и драконы, которых герой возможно встретит? Их откопируем из героя. Есть специальная кнопка экспорта отдельного спрайта и потом можно взять готовый спрайт в качестве нового героя. Можно таких спрайтов взять множество, и все они будут между собой взаимодействовать.
На рисунке 28 представлено поле боя, на котором бьются 25 драконов и демонов. Все они - копии этого маленького спрайта.
Это достаточно сложный пример, в котором показаны возможности копирования и взаимодействия множества объектов внутри среды Скретч. Дальнейшее развитие модели может идти в сторону уточнения поведения драконов и демонов. Может быть, они будут переходить из одной команды в другую только встретив нескольких противников.
Рисунок 28 - Поле боя
Рисунок 29 - Несколько исполнителей
2.7 Управление через обмен сообщениями
В простой среде Скретч видны мощные возможности параллельных действий множества исполнителей. В этом проекте взаимодействует несколько героев:
приходит женщина, поет свою песенку;
после женщины приходят утки, выполняют свою работу;
после уток приходят коровы, выполняют свою работу;
после коров приходят собаки, выполняют свою работу;
после собак приходят лягушки, выполняют свою работу;
после лягушек приходят лошади, выполняют свою работу.
На рисунке 29 приведен фрагмент экрана программы, на котором видны массы исполнителей.
Основная трудность управления заключается в синхронизации действий.
Новые исполнители не должны приходить, пока предыдущая группа не выполнит свою задачу. В Скретче проблема взаимодействия решается через обмен сообщениями. Все исполнители взаимодействуют между собой при помощи двух "коммуникационных" блоков:
1) Передать - команда передать определенное сообщение. Например, по завершении своих действий группа лошадей может передать сообщение "Лошади выполнили свою задачу"
2) Когда я получу - блок, который ожидает определенное сообщение. Например, если блок получает сообщение "Лошади выполнили свою задачу", то он может запустить следующих героев мультипликационной истории.
Рисунок 30 - Программное описанипе действий
Рисунок 31 - Команды Скретча
Проект простой, но механизм организации взаимодействия групп агентов дан в нем достаточно наглядно.
2.8 Сказка про Зайца и Лису
Этот проект продолжает идею обмена сообщениями между различными агентами и в нем представлен подход, когда мы заранее описываем в таблице множество всех действующих агентов. Интересен как рецепт предварительной записи действий всех героев.
Таблица 1 - Описание действий исполнителей
Исполнитель |
Действие |
|
Лубяная избушка |
Стоит (координаты) и ни на что не реагирует |
|
Ледяная избушка |
Стоит (координаты). Получив сообщение от Весны, тает. Сообщает о собственном таянии |
|
Весна |
Ждет. Приходит. Сообщает о своем приходе |
|
Заяц |
Живет в лубяной избушке Получает сообщение - Помоги лисе Посылает сообщение - Лиса, заходи Получив сообщение - Уходи из избушки, покидает избушку, начинает плакать, посылает сообщение - "Я плачу в первый раз" Получив сообщение - О чем, заяц, плачешь? Посылает сообщение - "Как же мне не плакать?" Получив сообщение - "Собака убежала", посылает сообщение "Я плачу во второй раз" Получив сообщение - "Кошка убежала", посылает сообщение "Я плачу в третий раз" Получив сообщение - "Лиса ушла", перестает плакать |
|
Лиса |
Живет в ледяной избушке Получив сообщение - "Я растаяла", идет к лубяной избушке, посылает сообщение "Помоги лисе" Получив сообщение - "Лиса, заходи", заходит внутрь лубяной избушки, посылает сообщение "Уходи из избушки" Получив сообщение "Уходи лиса вон", посылает сообщение "Как выскочу" Получив сообщение "Уходи лиса с печи", покидает избушку, посылает сообщение "Лиса ушла" |
|
Собака |
Получив сообщение "Я плачу в первый раз", идет к зайцу посылает сообщение "О чем, заяц, плачешь?" Получив сообщение "Как же мне не плакать?", говорит "Не плачь, заяц" идет к избушке, посылает сообщение "Уходи лиса вон" Получив сообщение "Как выскочу", убегает, посылает сообщение "Собака убежала" |
|
Кот |
Получив сообщение "Я плачу во второй раз", идет к зайцу, посылает сообщение "О чем, заяц, плачешь?" Получив сообщение "Как же мне не плакать?", говорит "Не плачь, заяц", идет к избушке, посылает сообщение "Уходи лиса вон" Получив сообщение "Как выскочу", убегает, посылает сообщение "Кошка убежала" |
|
Петух |
Получив сообщение "Я плачу в третий раз" идет к зайцу посылает сообщение "О чем, заяц, плачешь?" Получив сообщение "Как же мне не плакать?", говорит "Не плачь, заяц", идет к избушке, посылает сообщение "Уходи лиса с печи" |
Из таблиц действия легко превратить в команды Скретча (рисунок 31).
2.9 Сказка про репку
В этом проекте объединяем обмен сообщениями между группами агентов и сохранение текущих положений и направлений в переменных.
Рисунок 32 - Расположение героев сказки
Рисунок 33 - Алгоритм сказки
От классического варианта сказки наш проект отличается еще тем, что репка по-прежнему одна, но вытаскивать ее пришли 2 дедки. Каждый из дедок позвал на выручку по 2 бабки, каждая бабка позвала по паре Жучек, каждая Жучка прихватила пару кошек и каждая кошка прихватила по паре летучих мышек. Внучек в программе нет вообще.
Выполнение программы начинается с репки, которая занимает положение на экране, устанавливает значения и посылает сообщение дедке.
Дедка получает сообщение, идет в указанную точку, оставляет там свой след, посылает бабке сообщение и ждет от нее сигнала о завершения операции. Здесь очень важная конструкция: Передать "Бабка" и ждать
По завершению операции, каждый следующий агент повторяет и умножает действия предыдущего.
2.10 Скретч-квест
Квест, приключенческая игра - один из основных жанров компьютерных игр, требующих от игрока решения умственных задач для продвижения по сюжету. Сюжет может быть предопределённым или же давать множество исходов, выбор которых зависит от действий игрока.
Квест предполагает, что герой перемещается из одного пространство в другое.
Число пространств или комнат может быть очень большим, но для примера построим мир из 5 связанных между собой комнат. Кошка управляется клавишами - вниз, вверх, вправо и влево.
Если клавиша стрелка вверх, то повернуться вверх пройти 5 шагов и установить значение переменной 0. Все остальные нажатия - вправо, влево и вниз - отрабатываются точно так же (рисунок 34).
Рисунок 34 - Алгоритм квеста
Рисунок 35 - Передать "Change place"
Как только кошка касается экрана, она посылает миру сигнал - передать "Change place" (рисунок 35).
В ответ на этот сигнал среда начинает анализировать положение (направление) кошки и фон, на котором она находится. Все изображения - костюмы фона (рисунок 36).
В зависимости от того, куда смотрит кошка, и из какой комнаты она пришла, фон подсовывает под кошку новое изображение окружающего мира (рисунок 37).
Рисунок 36 - Фоны
Рисунок 37 - Выбор фона в зависимости от комнаты
Теперь можно путешествовать из комнаты в комнату или из области в область.
Усложним игру, добавив к кошке двух злобных демонов. Каждый из них постоянно поворачивается в сторону кошки и двигается к ней. Если один из демонов касается другого, он замирает. Если демон коснется кошки, то игрок проиграл (рисунок 38).
Рисунок 38 - Обработка проигрыша
Рисунок 39 - Обработка переходов из одной области в другую
Добавим кошке миссию, которую она должна выполнить, переходя из одной области в другую: найти и собрать семь зеленых шариков. Шарики должны быть видимы в некоторых областях и невидимы в других (рисунок 39).
Теперь получился практически полноценный квест, в котором игрок бродит по полям, собирает зеленые шарики и ускользает от противников (рисунок 40).
Рисунок 40 - Результат работы квеста
Проект можно расширять новыми заданиями и новыми областями.
Заключение
Scratch был воспринят как простой и интуитивно понятный язык программирования, чтобы встретить молодых студентов с базовым программированием. Создатель Митчел Ресник считает, что активные знания - знания посредством моделирования мира - это самый эффективный способ обучения. Таким образом, дети учатся создавать и изменять мир, не останавливаясь на уровне "обычного пользователя".
Программирование внизу выполняется путем перемещения цветных блоков и их подключения, как в дизайнере Lego. Программа очень понятна и выглядит как красивый алгоритм, который на самом деле есть.
Несмотря на кажущуюся простоту. Scratch позволяет создавать довольно сложные проекты с использованием переменных, списков, циклов, условных операторов и т.д. Из арсеналов "взрослых" языков программирования. Чтобы заниматься программированием на земле, это возможно уже с 7 лет. Даже без знания переменных и координатной плоскости ребенок сможет выполнять свои первые проекты.
Как правило, Scratch не выходит за рамки кабинета информатики, но язык программирования обладает такими замечательными функциями, которые позволяют использовать его в других школьных предметах.
Язык скреста является наиболее доступным инструментом для моделирования физических явлений. Можете визуализировать законы математики.
Scratch помогает взглянуть на учебный материал на новый взгляд. Scrape позволяет объединить урок с программированием, чтобы узнать что-то. Когда вы разрабатываете викторину, студент с радостью вспомнит ответы на вопросы. Когда вы создаете физическую формулу из многоцветных блоков, формула становится ясной и почти родной.
Список литературы
1. Scratch - Язык программирования [электронный ресурс] // http://progopedia.ru/language/scratch/
2. Голиков Д. Как сделать любой школьный урок веселее с помощью Scratch? [электронный ресурс] // https: // newtonew.com/overview/scratch-how-to
3. Патаракин Е.Д. Учимся готовить в среде Скретч (Учебно-методическое пособие). - М: Интуит. ру, 2008. - 61 с.
4. Патаракин Е. Что можно делать и чему можно научиться со Скретчем [электронный ресурс] // https: // docs. google.com/document/d/1riAJox5YlNxSimi6dSEXvd-isaWeFoBOOzotqM3R4Lc/preview#
5. Печенцева И.Г. Оспользование среды программирования Scratch в преподавании информатики [электронный ресурс] // http://pandia.ru/text/78/234/4340. php
6. Рындак В.Г., Дженжер В.О., Денисова Л.В. Проектная деятельность школьника в среде программирования Scratch: учебно-методическое пособие. - Оренбург: Оренб. гос. ин-т менеджмента, 2009. - 116 с.
7. Хохлова М.В. Проектно-преобразовательная деятельность младших школьников // Педагогика, 2014/№ 5. - стр.51-56
8. Что такое Scratch [электронный ресурс] // https: // sites. google.com/a/uvk6. info/scratch/
9. Я люблю Scratch [электронный ресурс] // http://helen-raduga. narod.ru/index/0-25
10. Яникова Н. Не ВСЁ о Скретч. - Псков, 2013. - 68 с.
Размещено на Allbest.ru
...Подобные документы
Характеристики, основы применения, архитектура жестких и операционных систем реального времени. Последовательное программирование задач реального времени. Структура и языки параллельного программирования, мультипрограммирования и многозадачности.
курсовая работа [195,9 K], добавлен 17.12.2015Рассмотрение особенностей среды программирования Delphi. Разработка программы для пересчета длины из фунтов в килограммы с использованием следующих объектов: Edit, Label, Button. Значения свойств поля ввода-редактирования и командной кнопки Перерасчет.
практическая работа [177,2 K], добавлен 18.10.2012Цели и задачи дисциплины "Технология программирования". Программные средства ПК. Состав системы программирования и элементы языка. Введение в систему программирования и операторы языка Си. Организация работы с файлами. Особенности программирования на С++.
методичка [126,3 K], добавлен 07.12.2011Использование объектно-ориентированной методологии при программировании математических процессов. Среда языка программирования Delphi для решения математических задач. Объектно-ориентированные, декларативные и императивные языки программирования.
дипломная работа [1,8 M], добавлен 14.09.2011Основные сведения о языках программирования и их состав. Программа для компьютера. Использование компилятора и операторы. Языки программирования высокого уровня. Концепции объектно-ориентированного программирования. Языки искусственного интеллекта.
презентация [6,3 M], добавлен 14.08.2013Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.
контрольная работа [25,1 K], добавлен 14.03.2015Достижения математики в теории полумарковских процессов. Связь управляемых полумарковских процессов и динамического программирования. Разработка программы модели управляемого полумарковского процесса, реализованной на языке программирования СИ++.
курсовая работа [356,7 K], добавлен 10.09.2017Общая характеристика структурного программирования. Использование конструкций цикла и условного оператора. Методология функционального моделирования SADT, ее основные элементы. Типы связей между функциями. Моделирование потоков данных (процессов).
дипломная работа [704,7 K], добавлен 20.10.2009История развития языков программирования; создание и распространение языка С++; новый подход к разработке объектно-ориентированного программного обеспечения. Применение моделирования предметных областей для структуризации их информационных отражений.
реферат [29,1 K], добавлен 06.12.2010Классификация языков программирования. Использование циклических конструкций и выполнение итерационных процессов. Алгоритмические структуры циклов языков C, C++, Java, C#. Особенности современных языков программирования высокого уровня и их применение.
курсовая работа [345,6 K], добавлен 13.11.2009История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.
курсовая работа [795,9 K], добавлен 14.12.2012Принципы получения электронных копий. История создания сканера, принцип действия. Виды сканеров, их характеристики. Выбор среды программирования: визуальное программирование, среда программирования Delphi, язык С++. Описание разработанной программы.
курсовая работа [42,9 K], добавлен 25.12.2008Характеристика программирования с точки зрения процесса создания программы. Спецификация и определение требований к программе. Основные символы, используемые для представления алгоритма в виде блок-схемы. Особенности процесса поиска и устранения ошибок.
лекция [234,9 K], добавлен 07.04.2011Разработка родительского компонента для дальнейшего использования при создании приложений "Editip". Иерархия классов и интерфейсов. Применение в качестве инструмента исполнения среды программирования Microsoft Visual Studio.NET. Блок-схемы алгоритмов.
курсовая работа [1,5 M], добавлен 08.02.2011Описание особенностей программирования циклических алгоритмов на С/С++. Использование операторов цикла для организации повтора в программе определенных действий. Создание и реализация программы приближенного вычисления интеграла методом трапеций.
лабораторная работа [86,3 K], добавлен 25.03.2019Понятия структурного программирования и алгоритма решения задачи. Краткая история развития языков программирования от машинных до языков ассемблера и языков высокого уровня. Процедурное программирование на C#. Методы и программы для моделирования.
учебное пособие [1,7 M], добавлен 26.10.2010Понятие математического программирования. Класс как тип структуры, позволяющий включать в описание типа не только элементы данных, но и функции. Рассмотрение основных особенности языка программирования C++. Характеристика среды MS Visual Studio 2008.
контрольная работа [318,0 K], добавлен 13.01.2013Основы программирования в операционной системе Windows. Создание процессов в 32-битных операционных системах. Основное отличие дескриптора от идентификатора. Понятие критической секции. Основы вызова API-функций. Методы многозадачного программирования.
курсовая работа [501,1 K], добавлен 18.05.2014Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.
курсовая работа [581,5 K], добавлен 13.10.2008Разработка программы по оформлению заказов на билеты Оренбургского государственного областного драматического театра им. Горького. Использование объектно-ориентированного программирования и реализация проекта в среде визуального программирования Delphi 7.
курсовая работа [6,3 M], добавлен 12.11.2014