-void upgrade_init(upgrade_type *pupgrade, float x, float y, 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:
+ 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);