void creator::init()
{
- Ball* ball;
-
- ball = new Ball(Vector2(50, 50), 20, cWhite);
-
- ball->applyImpulse(Vector2(0.25,0.05)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(100, 50), 20, cBlack);
-
- ball->applyImpulse(Vector2(-0.15,-0.05)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(150, 50), 20, cGrey);
-
- ball->applyImpulse(Vector2(0.25,0.15)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(50, 100), 20, cRed);
-
- ball->applyImpulse(Vector2(0.35,-0.15)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(100, 100), 20, cGreen);
-
- ball->applyImpulse(Vector2(-0.15,0.55)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(150, 100), 20, cBlue);
-
- ball->applyImpulse(Vector2(0.25,0.15)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(50, 150), 20, cYellow);
-
- ball->applyImpulse(Vector2(0.25,-0.05)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(100, 150), 20, cMagenta);
-
- ball->applyImpulse(Vector2(-0.15,-0.05)),
- Balls.push(ball);
- manager::add(ball);
-
- ball = new Ball(Vector2(150, 150), 20, cCyan);
-
- ball->applyImpulse(Vector2(-0.15,0.05)),
- Balls.push(ball);
- manager::add(ball);
+ addBall(Vector2(50, 50), 20, cWhite);
+ addBall(Vector2(150, 50), 20, cGrey);
+ addBall(Vector2(50, 100), 20, cRed);
+ addBall(Vector2(100, 100), 20, cGreen);
+ addBall(Vector2(150, 100), 20, cBlue);
+ addBall(Vector2(50, 150), 20, cYellow);
+ addBall(Vector2(100, 150), 20, cMagenta);
+ addBall(Vector2(150, 150), 20, cCyan);
}
void creator::clean()
{
/// ***** Public Methods *****
-void creator::addBall()
+void creator::addBall(const Vector2& pos, float radius, const float* color)
{
- //TODO
+ Ball* ball = new Ball(pos, radius, color);
+
+ Balls.push(ball);
+ manager::add(ball);
}
void creator::removeBall()
{
- //TODO
+ Ball* ball = Balls.front();
+
+ Balls.pop();
+
+ delete ball;
}
void creator::removeAllBalls()
{