Генерировать новых агентов: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
Например, в игре [[Frogger]] | Например, в игре [[Frogger]] | ||
<syntaxhighlight lang="logo"> | |||
<syntaxhighlight lang="logo" line> | |||
ask patches with [(pxcor = x or pxcor = (x + 1)) and pycor = y] | ask patches with [(pxcor = x or pxcor = (x + 1)) and pycor = y] | ||
[ sprout-trucks 1 | [ sprout-trucks 1 |
Версия 21:39, 14 июля 2022
Описание проблемы | Агент порождает поток других агентов - например, в экологических моделях рождение используется для создания потомков, в играх из пистолета вылетают пули, которые он порождает, в историях Scratch капли дождя клонируются и падают из тучи на землю. |
---|---|
Среда | NetLogo, Scratch, StarLogo Nova, Agetsheets |
Предлагаемое решение | Можно использовать породы или клоны. Например, в NetLogo:
В Scratch новые агенты создаются через клонирование уже существуюших агентов. |
Пример кода | создать клон / себя самого v /
|
Адрес примера | https://scratch.mit.edu/projects/663360721/ |
Стандарты | |
сходные практики | поглощать агентов |
Ключевые понятия | паттерн вычислительного мышления |
FieldActivity | Computational Thinker |
NetLogo
Можно использовать породы или клоны. Например, в NetLogo:
- observer - наблюдатель может породить новых агентов в центре поля и сказать и что делать crt 10 [rt random 360]
- каждая черепаха может порождать новую черепаху командой hatch - hatch-sheep 1 [ set color black ]
- каждое пятно может на себе породить черепаху или несколько командой sprout - sprout 10 [ set color red ]
Например, в игре Frogger
ask patches with [(pxcor = x or pxcor = (x + 1)) and pycor = y]
[ sprout-trucks 1
[ set color truck-color
set heading direction
set speed quickness
set time speed
ifelse ((pxcor = x) xor (direction = 90))
[ set shape "truck" ]
[ set shape "truck rear" ]
]
Scratch
Капли дождя падают с неба
когда щёлкнут по зелёному флагу всегда создать клон [себя самого v] перейти в x (выдать случайное от (-180) до (180)) y (200) плыть (3) секунд в точку x (положение x) y (-180) удалить клон