// multi object w/ communication // 041009 // ah int agent_number = 10; Agent[] agents; void setup() { size (500,500); rectMode(CENTER_DIAMETER); agents = new Agent[agent_number + 1]; for (int i = 0; i < agent_number; i++) { agents[i] = new Agent(int(random(500)), int(random(500)), agents); } background(255); } void loop() { background(255); for (int i = 0; i < agent_number; i++) { agents[i].drawLine(); agents[i].drawMyself(); agents[i].move(); } } class Agent { int x, y; Agent[] agents; Agent(int x, int y, Agent[] agents) { this.x = x; this.y = y; this.agents = agents; } void drawLine() { for (int i = 0; i < agent_number; i++) { stroke (200); line (x, y, agents[i].x, agents[i].y); } } void drawMyself() { stroke (180, 150, 0); fill (200,200,0); quad (x - 5, y, x, y - 5, x + 5, y, x, y + 5); } void move() { x += int(random(-2, 2)); y += int(random(-2, 2)); } }