2016-01-09 2 views
3

Я новичок в netlogo и надеялся, что кто-то может помочь мне с тем, как создавать черепах на основе пользовательского ввода.Создание динамичной черепахи в netlogo

На вкладке интерфейса у меня есть ползунок, значение которого колеблется между 2 & 10. В зависимости от значения, определенного пользователем с помощью этого слайдера, необходимо создать много черепах.

Я пробовал использовать несколько операторов if, но на последующих шагах возникает проблема.

if (slider-value = 2) [create2] 
if (slider-value = 3) [create3] 
if (slider-value = 4) [create4] 
if (slider-value = 5) [create5] 

После создания черепах с использованием выше, если условия, я должен назначить некоторые правила для каждой отдельной черепахи, и я попробовал еще раз, используя мультипликатор, если заявления. Но, похоже, это не работает.

Может кто-нибудь предложить способ, по-настоящему ценит помощь.

Заранее благодарен!

С уважением

+0

Как выглядят ваши процедуры создания? –

+0

хорошо, вы все еще застряли на бит назначения правил? –

+0

Я попробовал то, что предложил Сет-Тисуэ изначально, но в моем случае каждая из созданных индивидуальных черепах имеет свои собственные координатные позиции. Следовательно, в зависимости от количества созданных черепах я должен назначить им положение. – Yuvaraj

ответ

3

Вы могли бы более просто использовать ползунок таким образом

create-turtles slider-value [ 
       ;things you want the turtles to do for example 
       set heading 4 * random 90 
       set shape "turtle" 
       set color green + random-normal 0 4 
       ] 

это то, что вы ищете?

+0

@Seth Tisue Спасибо за ответ, но в моем случае каждая созданная черепаха имеет свое собственное координатное положение , Следующий код может дать вам идею: – Yuvaraj

+0

не могли бы вы добавить это к своему вопросу или задать новый вопрос, что fomatting затрудняет чтение. –

+0

По какой-то причине мне не удалось добавить свой код, поэтому я создал новый вопрос [ссылка] (http://stackoverflow.com/questions/34710775/dynamic-turtle-creation-in-netlogo-2-contd) – Yuvaraj

-4

Я рекомендую инструкцию switch. Оператор switch циклически выполняет все возможные команды, как правило, с помощью int. А затем выбирает команду match.

Так, например, я мог бы сделать оператор switch, когда пользователь вводит стрелку вверх. int 1 - это вход. это соответствует команде, которая говорит черепахе перемещаться так много пикселей/единиц/кубов.

Я надеюсь, что это поможет.

+1

NetLogo не имеет операторов 'switch' или' case'. Тем не менее, у него есть оператор «create » type ('create-turtles n'), который предлагает другой ответ. Пожалуйста, не предлагайте ответы на языки, которые вы явно никогда не видели, это очень бесполезно, потому что новые ответы идут вверх. – JenB

+0

«Я попытался использовать несколько операторов if, но есть проблема на последующих шагах» Я дал предложение, основанное на этом, не было задано выполнение инструкции switch, чего может достичь netlogo. –

Смежные вопросы