-void bullet_init(bullet_type* pbullet, float x, float y, float xm, int dir);
-void bullet_action(bullet_type *pbullet);
-void bullet_draw(bullet_type *pbullet);
-void bullet_collision(bullet_type *pbullet, int c_object);
+class Bullet : public MovingObject
+{
+public:
+ Bullet(const Vector& pos, float xm, int dir,
+ int kind);
+
+ virtual void action(float frame_ratio);
+ virtual void draw(DrawingContext& context);
+ void collision(int c_object);
+
+ virtual void collision(const MovingObject& other_object, int type);
+
+ int kind;
+
+private:
+ int life_count;
+ Physic physic;
+};