Кнопки NetLogo

Материал из Letopisi.Ru — «Время вернуться домой»
Перейти к: навигация, поиск

См. Кнопки 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
Персональные инструменты
Инструменты