Футбольное поле с множеством мячиков

Материал из Поле цифровой дидактики
Версия от 15:20, 24 января 2024; Patarakin (обсуждение | вклад) (Новая страница: «{{Model |Description=Модель сбора данных с поля, на котором множество игроков взаимодействуют со множеством мячиков. Модель используется для * обсуждения и пояснения понятия Социальный Объект * сбора данных с цифрового поля |Field_of_knowledge=NetSci, Информатика, Социол...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Описание модели Модель сбора данных с поля, на котором множество игроков взаимодействуют со множеством мячиков. Модель используется для
  • обсуждения и пояснения понятия Социальный Объект
  • сбора данных с цифрового поля
Область знаний NetSci, Информатика, Социология
Веб-страница - ссылка на модель https://www.slnova.org/patarakin/projects/694467/
Видео запись
Разработчики Патаракин
Среды и средства, в которых реализована модель StarLogo Nova
Диаграмма модели
Описание полей данных, которые модель порождает
Модель создана студентами? {{{Student-created}}}«{{{Student-created}}}» — не булево значение (да/нет).
ODD protocol DREAM О чём эта модель? Как устроена модель (правила внутри) Как пользоваться моделью На что следует обратить внимание Что стоит попробовать Расширение возможностей модели Функции среды программирования, которые использованы в этой модели Похожие модели

Пользователь может управлять числом игроков на поле и расстоянием, на котором игроки видят мяч – виджет Vision. На экране мы видим зелёное поле, где взаимодействуют игроки, и таблицу, в которой записываются действия – ID игрока и ID мяча, по которому он ударяет.

В данном примере мы рассмотрим историю, когда объект мячик медленно катится по полю и реагирует на присутствие игроков, которые находятся поблизости. Внешне это будет выглядеть так, как будто игроки бегут по мячу и наносят по нему удар. А в ответ на этот удар мячик отлетает в сторону направления удара. А еще (и это для нас самое интересное), мяч будет собирать данные о том, какой игрок, из какой команды, в каком месте и в каком направлении нанёс удар. В StarLogo Nova мы создаем и управляем не отдельными экземплярами агентов, а породами (breed). Поэтому, на странице породы записываются правила, которым будут следовать все агенты этой породы. Например, все игроки на поле будут следовать правил, которые описаны на странице Person.

Пока мы обратим внимание на первое правило на странице: «Пока кнопка forever включена, вызывай процедуру FB_2». А дальше мы посмотрим на команды, которые мы можем использовать.

У каждой породы есть обязательные свойства, которые должны быть у каждого агента – это форма, цвет и размер. Кроме того, мы можем добавлять породе любые свойства, которые покажутся нам нужными для работы модели. Например, мы можем добавить породе Person свойство Team – и теперь игрока на местности нашего Мира могут относиться к разным командам.

Команды управления свойствами агента собраны на голубой вкладке Traits. Здесь мы можем устанавливать как обязательные, так и дополнительные свойства каждой породы агентов.

Самый простой случай – Set my Size to (5) – установить размер данного агента.

Если мы хотим установить цвет, то Set my Color to [color (выбор цвета)]

При выборе формы для агента можно использовать встроенную библиотеку со множеством форм, а также загружать в систему самостоятельно созданные формы. Команды перемещения агенты почти не отличаются от обычных команд к Черепашке или котенку Scratch – вперед, назад, налево, направо. Поскольку среда трехмерная, то есть еще команды вверх и вниз и команда телепортации в трехмерную точку x:y:z Взаимодействие агентов может быть основано на том, что у них есть данные о положении других агентов около себя. Например, в следующей процедуре, если наш агент чувствует, что на расстоянии 2-х шагов от него число игроков больше 0, то он вызывает процедуру записи в журнал и передает ей в качестве параметра информацию о ближайшем игроке на расстоянии 2-х шагов. Процедура создается из множества блоков команд. Чтобы использовать процедуру, её необходимо вызвать через команду call (имя процедуры).