/**@file BolaSimples.cpp
 * @brief Exemplo da bola OO-isado, sem double-buffering - Implementação
 * @author Tiago Alves Macambira
 * @version $Id$
 *
 * BSD-like license
 *
 */

#include <allegro.h>
#include "BolaSimples.h"


ExemploBolaSimples::ExemploBolaSimples() : imagem(NULL), x(0), y(0)
{
	allegro_init();	
	imagem = load_bitmap("bola.bmp",NULL);
}

ExemploBolaSimples::~ExemploBolaSimples()
{
	destroy_bitmap(imagem);
}

void ExemploBolaSimples::setupDevices()
{
	install_keyboard();
	set_color_depth(16);
	set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0);
}

void ExemploBolaSimples::startGame()
{
	while(!key[KEY_ESC]){
		processTurn();
		drawTurn();
	}
}

void ExemploBolaSimples::processTurn()
{
	if (key[KEY_UP]){
		y = y - 1;
	};
	if (key[KEY_DOWN]){
		y = y + 1;
	};
	if (key[KEY_RIGHT]){
		x = x + 1;
	};
	if (key[KEY_LEFT]){
		x = x - 1;
	}; 	
}

void ExemploBolaSimples::drawTurn()
{
		acquire_screen();
		draw_sprite(screen, imagem,x,y);
		release_screen();
		clear_bitmap(screen);

};
