NetLogo patches: различия между версиями

Материал из Поле цифровой дидактики
Новая страница: «<netlogo model="Patches" />»
 
Нет описания правки
 
(не показаны 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