NetLogo patches: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) Новая страница: «<netlogo model="Patches" />» |
Patarakin (обсуждение | вклад) Нет описания правки |
||
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
* [[NetLogo patches]] | |||
* [[NetLogo links]] | |||
* [[NetLogo turtles]] | |||
* [[NetLogo widgets]] | |||
== Пространство тестирования == | |||
<netlogo model="Patches" /> | <netlogo model="Patches" /> | ||
== Базовые команды == | |||
{| class="wikitable" | |||
! task | |||
! realisation | |||
|- | |||
| Все патчи выполняют команду | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patches [ set pcolor black ] | |||
</syntaxhighlight> | |||
|- | |||
| Выбрать патчи по условию | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patches with [pxcor > 0] [ set pcolor green ] | |||
</syntaxhighlight> | |||
|- | |||
| Проверить, есть ли подходящие патчи | |||
| <syntaxhighlight lang="Lisp" line> | |||
show any? patches with [pcolor = red] | |||
</syntaxhighlight> | |||
|- | |||
| Посчитать число патчей | |||
| <syntaxhighlight lang="Lisp" line> | |||
show count patches with [pcolor = green] | |||
</syntaxhighlight> | |||
|- | |||
| Взять один случайный патч | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask one-of patches [ set pcolor yellow ] | |||
</syntaxhighlight> | |||
|- | |||
| Найти патч с максимальным значением переменной | |||
| <syntaxhighlight lang="Lisp" line> | |||
patches-own [food] | |||
ask max-one-of patches [food] [ set pcolor red ] | |||
</syntaxhighlight> | |||
|- | |||
| Найти несколько лучших патчей | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask max-n-of 5 patches [food] [ set pcolor orange ] | |||
</syntaxhighlight> | |||
|- | |||
| Соседи патча по 8 направлениям | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patch 0 0 [ ask neighbors [ set pcolor blue ] ] | |||
</syntaxhighlight> | |||
|- | |||
| Соседи патча по 4 направлениям | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patch 0 0 [ ask neighbors4 [ set pcolor sky ] ] | |||
</syntaxhighlight> | |||
|- | |||
| Взять патчи в радиусе | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patch 0 0 [ ask patches in-radius 3 [ set pcolor violet ] ] | |||
</syntaxhighlight> | |||
|- | |||
| Получить список значений с патчей | |||
| <syntaxhighlight lang="Lisp" line> | |||
show [pcolor] of patches with [pxcor > 0] | |||
</syntaxhighlight> | |||
|- | |||
| Посчитать среднее по патчам | |||
| <syntaxhighlight lang="Lisp" line> | |||
patches-own [food] | |||
show mean [food] of patches | |||
</syntaxhighlight> | |||
|- | |||
| Посчитать сумму по патчам | |||
| <syntaxhighlight lang="Lisp" line> | |||
patches-own [food] | |||
show sum [food] of patches | |||
</syntaxhighlight> | |||
|- | |||
| Отсортировать патчи по координате | |||
| <syntaxhighlight lang="Lisp" line> | |||
show sort-on [pxcor] patches with [pycor = 0] | |||
</syntaxhighlight> | |||
|- | |||
| Собрать специальный набор патчей | |||
| <syntaxhighlight lang="Lisp" line> | |||
let edge-patches patch-set patches with [pxcor = max-pxcor] patches with [pxcor = min-pxcor] | |||
ask edge-patches [ set pcolor white ] | |||
</syntaxhighlight> | |||
|- | |||
| Сделать черепах на патче | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patch 0 0 [ sprout 3 [ set color red ] ] | |||
</syntaxhighlight> | |||
|- | |||
| Получить turtles на патче | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patch 0 0 [ show turtles-here ] | |||
</syntaxhighlight> | |||
|- | |||
| Проверить, есть ли turtles на патче | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patch 0 0 [ show any? turtles-here ] | |||
</syntaxhighlight> | |||
|- | |||
| Выбрать патчи по наличию turtles | |||
| <syntaxhighlight lang="Lisp" line> | |||
ask patches with [any? turtles-here] [ set pcolor lime ] | |||
</syntaxhighlight> | |||
|- | |||
| Диффузия patch-переменной | |||
| <syntaxhighlight lang="Lisp" line> | |||
patches-own [chemical] | |||
diffuse chemical 0.5 | |||
</syntaxhighlight> | |||
|} | |||
Текущая версия от 22:35, 22 апреля 2026
Пространство тестирования
Базовые команды
| task | realisation |
|---|---|
| Все патчи выполняют команду | ask patches [ set pcolor black ]
|
| Выбрать патчи по условию | ask patches with [pxcor > 0] [ set pcolor green ]
|
| Проверить, есть ли подходящие патчи | show any? patches with [pcolor = red]
|
| Посчитать число патчей | show count patches with [pcolor = green]
|
| Взять один случайный патч | ask one-of patches [ set pcolor yellow ]
|
| Найти патч с максимальным значением переменной | patches-own [food]
ask max-one-of patches [food] [ set pcolor red ]
|
| Найти несколько лучших патчей | ask max-n-of 5 patches [food] [ set pcolor orange ]
|
| Соседи патча по 8 направлениям | ask patch 0 0 [ ask neighbors [ set pcolor blue ] ]
|
| Соседи патча по 4 направлениям | ask patch 0 0 [ ask neighbors4 [ set pcolor sky ] ]
|
| Взять патчи в радиусе | ask patch 0 0 [ ask patches in-radius 3 [ set pcolor violet ] ]
|
| Получить список значений с патчей | show [pcolor] of patches with [pxcor > 0]
|
| Посчитать среднее по патчам | patches-own [food]
show mean [food] of patches
|
| Посчитать сумму по патчам | patches-own [food]
show sum [food] of patches
|
| Отсортировать патчи по координате | show sort-on [pxcor] patches with [pycor = 0]
|
| Собрать специальный набор патчей | let edge-patches patch-set patches with [pxcor = max-pxcor] patches with [pxcor = min-pxcor]
ask edge-patches [ set pcolor white ]
|
| Сделать черепах на патче | ask patch 0 0 [ sprout 3 [ set color red ] ]
|
| Получить turtles на патче | ask patch 0 0 [ show turtles-here ]
|
| Проверить, есть ли turtles на патче | ask patch 0 0 [ show any? turtles-here ]
|
| Выбрать патчи по наличию turtles | ask patches with [any? turtles-here] [ set pcolor lime ]
|
| Диффузия patch-переменной | patches-own [chemical]
diffuse chemical 0.5
|
