#include "Flipper.h"

class BallMove : public Fsm { Fsm* Routine(Dp * dp,Db * db); };


Fsm* Ball::Routine(Dp * dp,Db * db)
{
	db->FlipperBallX = 0;
	db->FlipperBallY = 0;
	db->FlipperBallVx = 2;
	db->FlipperBallVy = 1;

	return Singleton<BallMove>();
}


Fsm* BallMove::Routine(Dp * dp,Db * db)
{
	if (db->FlipperBallX >= SCREEN_WIDTH/2) db->FlipperBallVx = -2;
	if (db->FlipperBallX <= -SCREEN_WIDTH/2) db->FlipperBallVx = 2;

	if (db->FlipperBallY >= SCREEN_HEIGHT/2) db->FlipperBallVy = -2;
	if (db->FlipperBallY <= -SCREEN_HEIGHT/2) db->FlipperBallVy = 2;

	db->FlipperBallX += db->FlipperBallVx;
	db->FlipperBallY += db->FlipperBallVy;

	dp->Blit(eyesR, db->FlipperBallX, db->FlipperBallY);

	return Singleton<BallMove>();
}


