// ModelSwarm.m < #import "ModelSwarm.h" #import <activity.h> @implementation ModelSwarm + createBegin: aZone ModelSwarm *obj; // Zavoláme super triedu createBegin - návratová hodnota je // alokovaný model swarm objekt obj = [super createBegin: aZone]; . obj->worldXSize = 80; // Zadáme simulacné parametre obj->worldYSize = 80; // s defaultovými hodnotami obj->seedProb = 0.1; obj->xPos = 40; obj->yPos = 40; return obj; } - createEnd { return [super createEnd]; } - buildObjects { foodSpace = [FoodSpace createBegin: globalZone]; [foodSpace setSizeX: worldXSize Y: worldYSize]; foodSpace = [foodSpace createEnd]; [foodSpace seedFoodWithProb: seedProb]; aBug = [Bug createBegin: globalZone]; [aBug setWorldSizeX: worldXSize Y: worldYSize]; [aBug setFoodSpace: foodSpace]; aBug = [aBug createEnd]; [aBug setX: xPos Y: yPos]; return self; } - buildActions { modelSchedule = [Schedule createBegin: self]; [modelSchedule setRepeatInterval: 1]; modelSchedule = [modelSchedule createEnd]; [modelSchedule at: 0 createActionTo: aBug message: M(step)]; return self; } - activateIn: swarmContext { // Activate ourselves in swarmContext [super activateIn: swarmContext]; { // Activate ourselves in swarmContext [super activateIn: swarmContext]; // and activate the schedule we built above in ourselves [modelSchedule activateIn: self]; // Return the activity we built return [self getActivity]; } @end