Pan myBackground; Spider spider; Ant[] ant = new Ant[16]; Spider[] bad = new Spider[16]; boolean up,down,right,left; String last; int score; PFont fup; float fade; String word; void setup() { size(600, 600); myBackground = new Pan("bricks_big.jpg"); spider = new Spider(); for(int i = 0; i < 4; i++) { ant[i] = new Ant("up"); bad[i] = new Spider("up"); } for(int i = 4; i < 8; i++) { ant[i] = new Ant("down"); bad[i] = new Spider("down"); } for(int i = 8; i < 12; i++) { ant[i] = new Ant("left"); bad[i] = new Spider("left"); } for(int i = 12; i < 16; i++) { ant[i] = new Ant("right"); bad[i] = new Spider("right"); } up = false; down = false; right = false; left = false; last = "up"; fup = loadFont("CourierNew36.vlw"); textFont(fup,60); word = "new game"; fade = millis(); } void restart(String w) { score = 0; for(int i = 0; i < 16; i++) { ant[i].reset(); bad[i].reset(); } word = w; fade = millis(); } void keySet() { if(up&&myBackground.by<0) { myBackground.moveup(); for(int i = 0; i < 16; i++) { if(ant[i].alive) { ant[i].moveup(); } else { bad[i].moveup(); } } } if(down&&abs(myBackground.by) + height + myBackground.speed < myBackground.backgroundImage.height) { myBackground.movedown(); for(int i = 0; i < 16; i++) { if(ant[i].alive) { ant[i].movedown(); } else { bad[i].movedown(); } } } if(right&&myBackground.backgroundImage.width > abs(myBackground.bx) + width + myBackground.speed) { myBackground.moveright(); for(int i = 0; i < 16; i++) { if(ant[i].alive) { ant[i].moveright(); } else { bad[i].moveright(); } } } if(left&&myBackground.bx<0) { myBackground.moveleft(); for(int i = 0; i < 16; i++) { if(ant[i].alive) { ant[i].moveleft(); } else { bad[i].moveleft(); } } } } void keyReleased() { if (keyCode == UP) { up = false; last = "up"; } if (keyCode == LEFT) { left = false; last = "left"; } if (keyCode == RIGHT) { right = false; last = "right"; } if (keyCode == DOWN) { down = false; last = "down"; } } void keyPressed() { if (keyCode == UP) { up = true; } if (keyCode == LEFT) { left = true; } if (keyCode == RIGHT) { right = true; } if (keyCode == DOWN) { down = true; } } void draw() { keySet(); myBackground.update(); spider.display(up,down,left,right,last); for(int i = 0; i < 16; i++) { if(ant[i].alive) { ant[i].display(); score+=ant[i].collision(); if(score == 16) { restart("winner"); } } else { bad[i].baddisplay(); if(bad[i].collision()) { restart("loser"); } } } text(score,280,310); if(millis()-fade<1000) { textFont(fup,120); text(word,0,300); textFont(fup,60); } }