/*
		BOUGER UNE FORME, METHODE DIRECTE A L'ECRAN
*/
#define ALLEGRO_STATICLINK
#include<allegro.h>
#define ECRAN_X	800
#define ECRAN_Y	600
#define ERREUR(msg){\
   set_gfx_mode(GFX_TEXT,0,0,0,0);\
   allegro_message(msg" %s",allegro_error);\
   allegro_exit();\
   return 1;\
}
/******************************************************************************
*******************************************************************************/
int main()
{
int done=0;		// pour fin boucle
// paramètres de la forme
int x,y;		// coordonnées 
int tx,ty;		// taille
int px,py;		// pas d'avancement en x et y
int color;		// couleur
// pour choix entrées utilisateur
int choix;

   allegro_init();
   install_keyboard();
   srand(time(NULL));

   if (set_gfx_mode(GFX_AUTODETECT,ECRAN_X,ECRAN_Y,0,0)!=0)
      ERREUR("setting mode graphique");

   // initialisation des variables de la forme
   tx=rand()%20+20;
   x=rand()%(ECRAN_X-tx*2);
   x+=tx;
   px=(rand()%5)+2;

   ty=rand()%20+20;
   y=rand()%(ECRAN_Y-ty*2);
   y+=ty;
   py=(rand()%5)+2;

   color=makecol(255,0,0);
   rectfill(screen,x,y,x+tx,y+ty,color);

   // boucle events
   while (!done){
      
	   if (keypressed()){
           //effacement aux anciennes coordonnées
		   rectfill(screen,x,y,x+tx,y+ty,makecol(0,0,0));
		   // recup choix
		   choix=readkey();
		   switch (choix>>8){  // recup sous la forme scancode
		   
		      case KEY_UP :		y-=py;  break;
			  case KEY_DOWN :	y+=py;  break;
			  case KEY_LEFT :	x-=px;  break;
			  case KEY_RIGHT :  x+=px;  break;
			  case KEY_ESC :	done=1; break;// pour fin
			  default : break;
		   }
		   // contrôle des bords
		   x=(x+tx<0) ? ECRAN_X-1 : x;
		   x=(x>ECRAN_X) ? -tx+1 : x;
		   y=(y+ty<0) ? ECRAN_Y-1 : y;
		   y=(y>ECRAN_Y) ? -ty+1 : y;
           // affichage
		   rectfill(screen,x,y,x+tx,y+ty,color);
	   }
   }
   exit(EXIT_SUCCESS);
}
END_OF_MAIN();
/*******************************************************************************
* LINKAGE lib static :
* pour dev :
 dans menu : Projet/otpions du projet/paramètres/éditeur de liens , là, 
 copier la liste suivante (l'ordre est important) :
-lalleg_s -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lole32 -ldinput -lddraw 
-ldxguid -lwinmm -ldsound
cliquer "OK"
*******************************************************************************/
