diff --git a/travail_de_groupe/chef_oeuvre/run b/travail_de_groupe/chef_oeuvre/run index 52293bf2e20a2065f0262c78b78410ae3bb41383..5e04dae7923aba57f0b2e752a25bdbd03bbb0a5f 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/player.c b/travail_de_groupe/chef_oeuvre/src/player.c index 8f77540f356eda9c95f2617dff02ebabab038021..0d3d9c85d3f3cff295b2249b391e3395f107d7a4 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.c +++ b/travail_de_groupe/chef_oeuvre/src/player.c @@ -3,26 +3,68 @@ player_t player; void initPlayer(){ - player.x = 0; + player.x = 18*32; player.y = 0; + player.w = CELLSIZE; + player.h = CELLSIZE; player.waterLevel = 0; player.speed = 1; } +int collisionsLeftPlayer(){ + int collision = 0; + if(player.x <= 0){ + collision = 1; + } + return collision; +} + +int collisionsRightPlayer(){ + int collision = 0; + if(player.x + player.w >= (MAPSIZE-1) * CELLSIZE){ + collision = 1; + } + return collision; +} + +int collisionsUpPlayer(){ + int collision = 0; + if(player.y <= 0){ + collision = 1; + } + return collision; +} + +int collisionsDownPlayer(){ + int collision = 0; + if(player.y + player.h >= (MAPSIZE-1) * CELLSIZE){ + collision = 1; + } + return collision; +} + void moveRightPlayer(){ - player.x = player.x + player.speed; + if(!collisionsRightPlayer()){ + player.x = player.x + player.speed; + } } void moveLeftPlayer(){ - player.x = player.x - player.speed; + if(!collisionsLeftPlayer()){ + player.x = player.x - player.speed; + } } void moveUpPlayer(){ - player.y = player.y - player.speed; + if(!collisionsUpPlayer()){ + player.y = player.y - player.speed; + } } void moveDownPlayer(){ - player.y = player.y + player.speed; + if(!collisionsDownPlayer()){ + player.y = player.y + player.speed; + } } void manageMovement(){ @@ -53,3 +95,4 @@ int selectStateHover(){ + diff --git a/travail_de_groupe/chef_oeuvre/src/player.h b/travail_de_groupe/chef_oeuvre/src/player.h index 4f8791242356c2fac3238982e1671e11d3397982..98964cfdeda4a494256021611cbcd997f3b0514b 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.h +++ b/travail_de_groupe/chef_oeuvre/src/player.h @@ -12,6 +12,8 @@ typedef struct player{ int x; int y; + int w; + int h; int waterLevel; int speed; } player_t;