Генерировать новых агентов

Материал из Энциклопедия вычислительного мышлении
Перейти к навигации Перейти к поиску
Name Генерировать новых агентов
Описание проблемы Агент порождает поток других агентов - например, в экологических моделях рождение используется для создания потомков, в играх из пистолета вылетают пули, которые он порождает, в историях Scratch капли дождя клонируются и падают из тучи на землю.
Среда NetLogo, Scratch, StarLogo Nova, Agetsheets
Предлагаемое решение Можно использовать породы или клоны. Например, в NetLogo:
  • observer - наблюдатель может породить новых агентов в центре поля и сказать и что делать crt 10
  • каждая черепаха может порождать новую черепаху командой hatch - hatch-sheep 1
  • каждое пятно может на себе породить черепаху или несколько командой sprout - sprout 10

В Scratch новые агенты создаются через клонирование уже существуюших агентов.

Пример кода
создать клон / себя самого v /
Адрес примера https://scratch.mit.edu/projects/663360721/
Стандарты
сходные практики поглощать агентов
Ключевые понятия паттерн вычислительного мышления
FieldActivity Computational Thinker


[править]

Можно использовать породы или клоны. Например, в 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)
 удалить клон