📄 workerspace.m
字号:
// FoodSpace.m#import "WorkerSpace.h"#import <simtools.h>#import <random.h>@implementation WorkerSpace-setP0: (int) val0 { p0=val0; return self;}-setP1: (int) val0 { p1=val0; return self;}-setP2: (int) val0 { p2=val0; return self;}-setP3: (int) val0 { p3=val0; return self;}-setP4: (int) val0 { p4=val0; return self;}-setP5: (int) val0 { p5=val0; return self;}-check; { int result[6]={0,0,0,0,0,0};int tmp; int i,j; for (i=0;i<xsize;i++) for (j=0;j<ysize;j++) { tmp = [self getValueAtX: i Y: j]; result[tmp]+=1; }//printf (" 0 = %d, 1 = %d, 2 = %d, 3=%d, 4=%d, 5=%d\n", result[0],result[1], result[2], result[3], result[4], result[5]);return self; }-seedHCWithProb { int x,y; int seedHCProb; int somma;//printf ("p0=%d p1=%d p2=%d p3=%d p4=%d p5=%d",p0,p1,p2,p3,p4,p5); somma = p0+p1+p2+p3+p4+p5;if (somma > 100) { printf ("The probabilities do not sum up to 1, it is %d \n ",somma); exit(-1); }else { for (y = 0; y < ysize; y++) for (x = 0; x < xsize; x++) { seedHCProb =[uniformIntRand getIntegerWithMin: 1 withMax: 100]; // printf ("value %d \n",seedHCProb); if ((seedHCProb >0) && (seedHCProb <=p0)) { [self putValue: 0 atX: x Y: y]; //printf ("HC 0 di X %d Y %d\n",x,y); } else if ((seedHCProb >p0) && (seedHCProb <=p0+p1)) { [self putValue: 1 atX: x Y: y]; //printf ("HC 1 di X %d Y %d\n",x,y); // printf ("value %d changed 1\n",seedHCProb); } else if ((seedHCProb >p0+p1) && (seedHCProb <=p0+p1+p2)) { [self putValue: 2 atX: x Y: y]; //printf ("HC 2 di X %d Y %d\n",x,y); // printf ("value %d changed 2\n",seedHCProb); } else if ((seedHCProb >p0+p1+p2) && (seedHCProb <=p0+p1+p2+p3)) { [self putValue: 3 atX: x Y: y]; //printf ("HC 3 di X %d Y %d\n",x,y); // printf ("value %d changed 3\n",seedHCProb); } else if ((seedHCProb >p0+p1+p2+p3) && (seedHCProb <=p0+p1+p2+p3+p4)) { [self putValue: 4 atX: x Y: y]; //printf ("HC 4 di X %d Y %d\n",x,y); // printf ("value 4 changed 4\n",seedHCProb); } else if ((seedHCProb >p0+p1+p2+p3+p4) && (seedHCProb <=p0+p1+p2+p3+p4+p5)) { [self putValue: 5 atX: x Y:y]; //printf ("HC 5 di X %d Y %d\n",x,y); // printf ("value %d changed 5\n",seedHCProb); } else { [self putValue: 6 atX: x Y: y]; //printf ("HC %d di X %d Y %d",seedHCProb,x,y); } }// end for }// end else after check for probability equal one return self; }//questo metodo mi permette di colorare il mondo in base alle diverse// size delle imprese-setFirmSize: (int) size atX:(int) x Y:(int) y { [self putValue: size atX: x Y:y];return self;}-initSpace {int x,y; for (y = 0; y < ysize; y++) for (x = 0; x < xsize; x++) [self putValue: 0 atX: x Y:y]; return self;}@end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -