我有两套代理商:零售商和零售商B.以前,我使用品种来创建它们,但是因为我想创建一个随机网络,它要求所有的海龟并随机选择一些连接,我认为最好将乌龟保留在随机网络代码中(在库)并做这个改变:
#include <stdio.h>
#include <stdlib.h>
const int BIT = 16;
void binary(int);
void bin(char*, int);
int main(int argc, char* argv[]) {
int x ;
x = atoi(argv[1]);
char arr[BIT+1];
//binary(16);
bin(arr, x); // functions overwrites array arr
arr[BIT] = '\0'; // strings have to be null-terminated in C
printf("%s \n", arr);
return 0;
}
void bin(char *arr1,int x) {
if (x >= 0 && x <= 65535)
{
for (int i = BIT-1; i >= 0; i--)
{
if (x % 2 == 0)
{
arr1[i] = '0';
} else
{
arr1[i] = '1';
}
x = x / 2;
}
}
}
现在我希望每组代理都有不同的显示。零售商A将随机分散,而零售商B应以圆圈显示。但是,以下代码不能满足我的要求。
Dim numero As String 'Numéro d'assurance maladie
Dim lettre As String 'Quatre premières lettres
Dim chiffre1 As String 'Quatre premiers chiffres
Dim chiffre2 As String 'Quatre derniers chiffres
numero = txtNumero.Text
lettre = txtNumero.Text.Substring(0, 4)
chiffre1 = txtNumero.Text.Substring(4, 4)
chiffre2 = txtNumero.Text.Substring(8, 4)
这会让所有海龟都有圆圈显示。
谢谢,
答案 0 :(得分:2)
创建turtles-own
变量时,默认值为0.因此,如果您执行
create-turtles 100 [
set retailerA? true
set shape "person"
setxy random-xcor random-ycor
]
您已将retailerA?
正确设置为true
,但由于您未为此代理集设置retailerB?
,因此retailerB?
的值均为0。因此,如果您尝试使用with评估true
/ false
表达式(例如turtles with [retailerB?]...
),但有些海龟会返回值0而不是true
或{ {1}},NetLogo不知道该怎么做。要解决此问题,您可以在设置过程中显式设置这些变量,如下所示:
false
或者您可以明确说出to spawn-a
create-turtles 100 [
set retailerA? true
set retailerB? false
set shape "person"
setxy random-xcor random-ycor
]
end
。
此外,请查看syntax for layout-circle
- 您不需要with [retailerB? = true]
具有该原语的海龟。要解决您的问题,您需要以下内容:
ask