Как добавить значения переменной для указанных c черепах? - PullRequest
1 голос
/ 26 февраля 2020

Я хочу добавить значения переменной (скажем, транспортные расходы) для конкретных c черепах, которые находятся в группе. Стоимость транспортировки зависит от расстояния между указанным c участком и местом, назначенным черепахе. Поскольку стоимость упомянутой стоимости различна для каждой черепахи, я хочу суммировать общую стоимость черепах, которые находятся в группе. Для пояснения, давайте предположим, что в общей сложности 7 черепах, и только 4 находятся в группе.

Значения стоимости транспортировки каждой черепахи назначаются в качестве стоимости.

to calculate-ttcost set ttcost 0 let cnt 0 ask turtles [ if in-group? [ set ttcost (tcost + tcost) set cnt cnt + 1 ] ] end

1 Ответ

3 голосов
/ 27 февраля 2020

С исправлением одной опечатки должен работать ваш код, предполагая, что tcost объявлен как переменная turtles-own с транспортными расходами этой черепахи (или репортером, который дает транспортные расходы для черепахи, которая ее называет) ), и предполагая, что у тех черепах, которые находятся в группе, в которой вы заинтересованы, их собственная переменная черепах in-group? установлена ​​в значение true. Опечатка находится в строке

set ttcost (tcost + tcost)

, которая должна быть

set ttcost (ttcost + tcost)

Но есть более простое кодирование, которое выполнит sh ту же задачу.

let cnt count turtles with [in-group?]
let ttcost sum [tcost] of turtles with [in-group?]

with ограничивает набор черепах теми, для которых in-group верно. of создает список значений tcost для каждого из этих черепах, который затем можно суммировать.

Надеюсь, это поможет,

Charles

...