//--------------------------------------------- class Xeno { float x, y, velX, velY, enginePower; //--------------------------------------------- Xeno(int ix, int iy, float power){ x = ix; y = iy; enginePower = power; } //--------------------------------------------- void update(){ //Updates the ship's position velX = velX*0.98; velY = velY*0.98; x += velX; y += velY; if( dist(shuttle.shipX,shuttle.shipY,x,y) < 20 && !gameOver) shuttle.kill(); if(!gameOver) thrust(); visualize(); } //--------------------------------------------- void visualize(){ //Draws the ship stroke(255,0,0); noFill(); ellipse(x,y,20,20); ellipse(x,y-5,5,5); ellipse(x-4,y+2,5,5); ellipse(x+4,y+2,5,5); stroke(100,0,0); ellipse(x,y,24,24); } //--------------------------------------------- void thrust(){ velX = velX + enginePower*(shuttle.shipX-x)/1000.0; velY = velY + enginePower*(shuttle.shipY-y)/1000.0; } //--------------------------------------------- void kill(){ explosion.addBlast(x,y,4.0,80,60,255,80,80); score += 100; float angle = random(0,TWO_PI); x = width/2 + width*cos(angle); y = height/2 + height*sin(angle); } }