-void upgrade_init(upgrade_type *pupgrade, float x, float y, int dir, int kind);
-void upgrade_action(upgrade_type *pupgrade);
-void upgrade_draw(upgrade_type *pupgrade);
-void upgrade_collision(upgrade_type *pupgrade, void* p_c_object, int c_object);
+enum BulletsKind {
+ FIRE_BULLET,
+ ICE_BULLET
+};
+
+class Bullet : public MovingObject, public Drawable
+{
+public:
+ Bullet(DisplayManager& manager, const Vector& pos, float xm, int dir,
+ int kind);
+
+ virtual void action(float frame_ratio);
+ virtual void draw(Camera& viewport, int layer);
+ void collision(int c_object);