int pspeeda = 5; //player speed A int pspeedd = 5; //player speed D int pmx = 180; //player move int pmy = 300; //player move int pjmx = 0; //projectile move int pjmy = 0; //projectile move float hmx = random(40,360); //Target spawn float rndcR = random (100,255); //Red float rndcG = random (100,255); //Green float rndcB = random (100,255); //Blue int hmy = 0; //Terget speed / pos boolean fired = false; //Is projectile fired boolean dead = false; //Is target dead //SETUP/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / void setup () { size(400, 400); frameRate (120); } //DRAW/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / void draw () { background(255 - rndcR, 255 - rndcG, 255 - rndcB); createPlayerShip(); if (fired == true){createPlayerProjectile();} if (dead == false) {createTarget();} } //PLAYERSHIP/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / void createPlayerShip () { //Player Ship rectMode(CENTER); //Shadow fill(255 - rndcR - 100, 255 - rndcG - 100, 255 - rndcB - 100); triangle(pmx+4,pmy+5,pmx-6,pmy+25,pmx+4,pmy+20); triangle(pmx+4,pmy+5,pmx+14,pmy+25,pmx+4,pmy+20); //Body fill(rndcR, rndcG, rndcB); triangle(pmx,pmy,pmx-10,pmy+20,pmx,pmy+15); triangle(pmx,pmy,pmx+10,pmy+20,pmx,pmy+15); noStroke(); //Movment pmx = pmx - pspeeda; pmx = pmx + pspeedd; if (key == 'a' && keyPressed == true) {pspeeda = 2;} else {pspeeda = 0;} if (key == 'd' && keyPressed == true) {pspeedd = 2;} else {pspeedd = 0;} //Fire Projectile if (keyCode == CONTROL && keyPressed ) {fired = true;} //Screen restriction if (pmx > width - 10) {pspeedd = 0;} if (pmx < 10) {pspeeda = 0;} } //PROJECTILE/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / void createPlayerProjectile () { if (pjmy > -400 && fired == true) {rect(pjmx + pmx,pjmy + pmy,5,10); pjmy = pjmy - 6;} else if (pjmy < -400) {fired = false; pjmx = 0; pjmy = 0;} } //TARGET/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / void createTarget () { //Hit Detection if (hmy > 400 || pjmy < hmy-270 && pjmy > hmy-290 && (pjmx + pmx) < hmx +15 && (pjmx + pmx) > hmx -15) { rndcR = random (100,255); rndcG = random (100,255); rndcB = random (100,255); dead = true; dead = false; hmy = 0; hmx = random(40,360);} //Target if (dead == false) { fill(255 - rndcR - 100, 255 - rndcG - 100, 255 - rndcB - 100); rect(hmx+4,hmy+5,20,20); fill(rndcR, rndcG, rndcB); rect(hmx,hmy,20,20); hmy = hmy +1;} if (dead == true) {rndcR = random (100,255); rndcG = random (100,255); rndcB = random (100,255);} }