The Tricycle's Ninja
|
00001 #ifndef _ENEMIGO_H_ 00002 #define _ENEMIGO_H_ 00003 00004 #include <Gosu/Gosu.hpp> 00005 00009 class Enemigo 00010 { 00011 Gosu::Image image; 00012 Gosu::Image arm; 00013 double posX, posY, velX, velY; 00014 double posXarm, posYarm, velXarm, velYarm; 00015 int angle; 00016 bool disparo; 00017 00018 00019 public: 00024 Enemigo(Gosu::Graphics& graphics):image(graphics,Gosu::sharedResourcePrefix() + L"media/samurai.png"),arm(graphics,Gosu::sharedResourcePrefix() + L"media/shuriken.png") { 00025 posX = 0; posY = 233; velX = -1.5; velY = angle = 0; 00026 posXarm = 800; posYarm = 330; velXarm = -8; velYarm = 0;disparo=false; 00027 } 00031 void draw() const 00032 { 00033 image.draw(posX, posY,6,0.4,0.4); 00034 } 00038 void drawArm() const 00039 { 00040 arm.drawRot(posXarm,posYarm,3,angle,0.5,0.5,0.6,0.6); 00041 } 00046 void move(){posX=posX+velX;} 00051 void moveArm(){ 00052 posXarm=posXarm+velXarm; 00053 angle = (angle + 20)%360;} 00058 double px(){return posX;} 00063 double py(){return posY;} 00068 double pxArm(){return posXarm;} 00073 double pyArm(){return posYarm;} 00078 void modpx(int num){posX = num;} 00083 void modDisparo() 00084 { 00085 disparo=true; 00086 posXarm=posX; 00087 } 00091 void resetDisparo() 00092 { 00093 disparo=false; 00094 posXarm=posX; 00095 } 00099 void reset() 00100 {velX=-1.5;velXarm=-8;} 00105 bool estDisparo(){return disparo;} 00109 void acelerar(){velX=velX*1.25;velXarm=velXarm*1.25;} 00110 00111 }; 00112 00113 #endif /* _ENEMIGO_H_ */