Кнопки NetLogo: различия между версиями
http://letopisi.org/index.php/>Евгений Патаракин |
Patarakin (обсуждение | вклад) м (1 версия импортирована) |
(нет различий)
|
Версия 20:01, 22 апреля 2019
См. Кнопки NetLogo/test_buttons.nlogo
Button
Кнопка - button - связана с процедурой на странице Procedures. Когда создается кнопка, мы можем указать какому из агентов она отдает указание:
- Обозреватель
- Черепахи
- Пятна
- Связи
Имя команды и имя кнопки на экране могут не совпадать. Например, мы можем создать процедуру setup и на экране задать имя кнопки - "Начнем"
Если кнопка создана и для нее еще нет процедуры, то кнопка окрашена в красный цвет.
to setup ca cro 50 [fd 5] end
Создадим себе первую процедуру. В этой процедуре у нас создаются 50 черепашек.
Slider
Следующая кнопка - рычажок - slider - меняя положение рычажка можно изменять параметры модели. Например, мы хотим, чтобы число можно было при помощи этой кнопки менять число черепах. Рычажок задает имя глобальной переменной и может содержать только латинские буквы. Здесь же указывается интервал, в котором изменяются значения. Например, от 1 до 500
to setup ca cro num_turtles [fd 5] end
Switch
Переключает положение для глобальной переменной. Это значение пользователь на экране может поставить в положение ON/OFF
to setup ca cro num_turtles [fd 5] ifelse green? [ask patches [set pcolor green]] [ask patches [set pcolor pxcor]] end
Здесь показано использование кнопки для организации ветвления. Если переменная green? включена, то пятна экрана окрашиваются в зеленый цвет. Если значение переменной отключено, то пятна окрашиваются в другие цвета. В примере показано, как мы можем окрасить пятно в цвет, выбрав значение цвета из координат этого пятна.
to setup ca cro num_turtles [fd 5] ifelse green? [ask patches [set pcolor green]] [ask patches [ if pycor != 0 [set pcolor pxcor / pycor] ]] end
Chooser
Выбор значения глобальной переменной. Переключатель задает имя глобальной переменной и может содержать только латинские буквы. В этом примере мы создаем tcolor и указываем значения, которые может принимать tcolor - 5, 15, 25, 35, 45. Создадим еще одну кнопку, которая будет проверять цвет черепашки. Теперь жизни черепашек в наших руках. Все, чей цвет меньше выбранного, при нажатии кнопки go будут погибать.
to go ask turtles with [color < tcolor] [die] end
Input
Кнопка позволяет пользователю вводить или выбирать значение. Например, создадим кнопку incolor, в которой можно изменять или выбирать значение цвета. Создадим еще и кнопку "Новые черепахи" и свяжем ее с процедурой hatch_new
to hatch_new ask turtles with [color = incolor] [hatch 2 [rt random 90 fd 2]] end
Теперь мы можем увеличивать численность черепах заданного цвета. Если цвет черепахи совпадает с выбранным пользователем цветом, то эта черепаха рождает двоих потомков.
Monitor
Окно, в котором показывается выбранное значение. Например, мы создаем monitor, который показывает общую численность всех черепах - count turtles.
Plot
Окно, в котором в виде графика отражаются численные значения.
to hatch_new ask turtles with [color = incolor] [hatch 2 [rt random 90 fd 2]] set-current-plot "Trt" plot count turtles with [color = incolor] end