#include "gameobjs.h"
void
-bouncy_distro_type::init(float x, float y)
+BouncyDistro::init(float x, float y)
{
base.x = x;
base.y = y;
}
void
-bouncy_distro_type::action()
+BouncyDistro::action(double frame_ratio)
{
base.y = base.y + base.ym * frame_ratio;
base.ym += 0.1 * frame_ratio;
if (base.ym >= 0)
- world.bouncy_distros.erase(static_cast<std::vector<bouncy_distro_type>::iterator>(this));
+ World::current()->bouncy_distros.erase(static_cast<std::vector<BouncyDistro>::iterator>(this));
}
void
-bouncy_distro_type::draw()
+BouncyDistro::draw()
{
texture_draw(&img_distro[0],
base.x - scroll_x,
void
-broken_brick_type::init(Tile* tile_, float x, float y, float xm, float ym)
+BrokenBrick::init(Tile* tile_, float x, float y, float xm, float ym)
{
tile = tile_;
base.x = x;
base.xm = xm;
base.ym = ym;
- timer_init(&timer, true);
- timer_start(&timer,200);
+ timer.init(true);
+ timer.start(200);
}
void
-broken_brick_type::action()
+BrokenBrick::action(double frame_ratio)
{
base.x = base.x + base.xm * frame_ratio;
base.y = base.y + base.ym * frame_ratio;
- if (!timer_check(&timer))
- world.broken_bricks.erase(static_cast<std::vector<broken_brick_type>::iterator>(this));
+ if (!timer.check())
+ World::current()->broken_bricks.erase(static_cast<std::vector<BrokenBrick>::iterator>(this));
}
void
-broken_brick_type::draw()
+BrokenBrick::draw()
{
SDL_Rect src, dest;
src.x = rand() % 16;
}
void
-bouncy_brick_type::init(float x, float y)
+BouncyBrick::init(float x, float y)
{
base.x = x;
base.y = y;
}
void
-bouncy_brick_type::action()
+BouncyBrick::action(double frame_ratio)
{
- offset = (offset +
- offset_m * frame_ratio);
+ offset = (offset + offset_m * frame_ratio);
/* Go back down? */
if (offset < -BOUNCY_BRICK_MAX_OFFSET)
/* Stop bouncing? */
if (offset >= 0)
- world.bouncy_bricks.erase(static_cast<std::vector<bouncy_brick_type>::iterator>(this));
+ World::current()->bouncy_bricks.erase(static_cast<std::vector<BouncyBrick>::iterator>(this));
}
void
-bouncy_brick_type::draw()
+BouncyBrick::draw()
{
int s;
SDL_Rect dest;
}
void
-floating_score_type::init(float x, float y, int s)
+FloatingScore::init(float x, float y, int s)
{
base.x = x;
base.y = y - 16;
- timer_init(&timer,true);
- timer_start(&timer,1000);
+ timer.init(true);
+ timer.start(1000);
value = s;
}
void
-floating_score_type::action()
+FloatingScore::action(double frame_ratio)
{
base.y = base.y - 2 * frame_ratio;
- if(!timer_check(&timer))
- world.floating_scores.erase(static_cast<std::vector<floating_score_type>::iterator>(this));
+ if(!timer.check())
+ World::current()->floating_scores.erase(static_cast<std::vector<FloatingScore>::iterator>(this));
}
void
-floating_score_type::draw()
+FloatingScore::draw()
{
char str[10];
sprintf(str, "%d", value);