boolean bulletActive;
boolean zombieShot;
int xPos;
int[] ZXPos = new int [20]; //array
void setup() {
size(600, 200);
background(255);
for (int i = 0; i < ZXPos.length; i++) {
ZXPos[i]=600+i*25;
}
quad(0, 170, 600, 170, 600, 200, 0, 200);//base
}
//zombies
void zombies(int num) {
ZXPos[num]--;
if (xPos >= ZXPos[num]-6 && xPos <= ZXPos[num]+6) { //&& checks if both functions are true
ZXPos[num] = width;
bulletActive = false;
xPos = -15;
}
if (mouseX >= ZXPos[num]-6 && mouseX <= ZXPos[num]+6) {
setup(); //resets zombie positions
bulletActive=false;
}
fill(0);
rect(ZXPos[num], 155, random(4,6), 15);//legs
rect(ZXPos[num]-2.5, 145, 10, 15);//body
rect(ZXPos[num], 140, 5, 5);//neck
ellipse(ZXPos[num]+2.5, 138, 10, 10);//head
}
void draw() {
background(255);
noStroke();
fill(0);
quad(0, 170, 600, 170, 600, 200, 0, 200);//base
if (bulletActive) {
bulletMove();
}
for (int i=0; i<ZXPos.length; i++) {
zombies (i);
}
//human
rect(mouseX, 155, 5, 15);//legs
rect(mouseX-2.5, 145, 10, 15);//body
rect(mouseX, 140, 5, 5);//neck
ellipse(mouseX+2.5, 138, 10, 10);//head
}
void mouseReleased() {
if (bulletActive == false) {
spawnBullet(mouseX);
}
}
void spawnBullet(int xCoord) {
bulletActive = true;
xPos = xCoord;
}
void bulletMove() {
fill(0);
ellipse(xPos+10, 150, 5, 5);
xPos=xPos+4;
if (xPos > width) {
bulletActive = false;
}
}