diff --git a/travail_de_groupe/chef_oeuvre/run b/travail_de_groupe/chef_oeuvre/run index de6e5ad8d704c532afd54cc3e4af6d2936d4558d..f13487eaa4ee73d86959a31d2804193c1a8ff73a 100755 Binary files a/travail_de_groupe/chef_oeuvre/run and b/travail_de_groupe/chef_oeuvre/run differ diff --git a/travail_de_groupe/chef_oeuvre/src/fire.h b/travail_de_groupe/chef_oeuvre/src/fire.h index aa02f2a905e0305218395a601192e3a05c012859..e7b35f32e38e4d4ed71f2fdbec8f4ebe8d909494 100644 --- a/travail_de_groupe/chef_oeuvre/src/fire.h +++ b/travail_de_groupe/chef_oeuvre/src/fire.h @@ -9,12 +9,6 @@ typedef enum false,true }booleen_t; -typedef struct chain { - fire_t fire; - - struct chain *next; -}chainfire_t,*listchainfire_t; - typedef struct fire{ int x; int y; @@ -22,6 +16,11 @@ typedef struct fire{ }fire_t; +typedef struct chain { + fire_t fire; + + struct chain *next; +}chainfire_t,*listchainfire_t; listchainfire_t initFire(void); listchainfire_t insertAheadFire(fire_t, listchainfire_t); diff --git a/travail_de_groupe/chef_oeuvre/src/gest_event.c b/travail_de_groupe/chef_oeuvre/src/gest_event.c index 0c62f08d1e5b833cb178e9538ec7be1f9de27990..223f17608357c849e744b6d44d885786e25aae9c 100644 --- a/travail_de_groupe/chef_oeuvre/src/gest_event.c +++ b/travail_de_groupe/chef_oeuvre/src/gest_event.c @@ -7,6 +7,54 @@ int y; int keys[10]; void manageMenu(){ + SDL_Event event; + while (SDL_PollEvent(&event)){ + switch(event.type) + { + case SDL_QUIT: + running = 0; + break; + + case SDL_KEYUP: + switch (event.key.keysym.sym) + { + case SDLK_ESCAPE: + running = 0; + continue; + + default: + continue; + } + break; + + case SDL_KEYDOWN: + switch (event.key.keysym.sym) + { + case SDLK_ESCAPE: + running = 0; + continue; + + default: + continue; + } + break; + + case SDL_MOUSEMOTION: + x = (event.motion.x - (screenDimension.w - (MAPSIZE * CELLSIZE)) / 2) / CELLSIZE; + y = (event.motion.y - 0) / CELLSIZE; + hover[0] = x; + hover[1] = y; + continue; + + default: + continue; + } + } + manageMovement(); + SDL_Delay(5); +} + +void manageGame(){ SDL_Event event; while (SDL_PollEvent(&event)){ switch(event.type) @@ -86,12 +134,11 @@ void manageMenu(){ SDL_Delay(5); } - void *eventLoop(void *arg){ while(running){ switch(gameState){ case MENU : manageMenu();break; - case GAME : manageMenu();break; + case GAME : manageGame();break; default:printf("game state fault");break; } } diff --git a/travail_de_groupe/chef_oeuvre/src/player.c b/travail_de_groupe/chef_oeuvre/src/player.c index 1ee12d703ba7db05832899fb69021998af7d1e5e..960ff345127e96befb67f5b01d2dedade5c40621 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.c +++ b/travail_de_groupe/chef_oeuvre/src/player.c @@ -24,7 +24,14 @@ void manageMovement(){ } int selectStateHover(){ - + int stateHover = 0; + int distance = sqrt(pow(abs(hover[0]-player.x), 2)+pow(abs(hover[1]-player.y), 2)); + printf("distance : %d\n", distance); + if(distance <= 2){ + stateHover = 1; + } + return stateHover; } - QUiChsoiitLeBonHover(); //0 = nonHover et 1 = hover + + diff --git a/travail_de_groupe/chef_oeuvre/src/player.h b/travail_de_groupe/chef_oeuvre/src/player.h index 2037f22f22c2ca3c1ced24296c41ce9dcb1fbf45..d9d63e572e6f381de98356ed1a4942ce01b3dd87 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.h +++ b/travail_de_groupe/chef_oeuvre/src/player.h @@ -14,5 +14,6 @@ extern player_t player; void initPlayer(); void manageMovement(); +int selectStateHover(); #endif \ No newline at end of file