diff --git a/snake/deplacement.c b/snake/deplacement.c index 4932aa9..7796cda 100644 --- a/snake/deplacement.c +++ b/snake/deplacement.c @@ -7,6 +7,7 @@ #include #include #include "plateau_init.h" +#include "update_queue.h" int** deplacement(int* p) { @@ -49,25 +50,64 @@ int** deplacement(int* p) { if (TouchEnAttente() == 1) { - if (Touche() == "Xk_Left") { + if (Touche() == "XK_Left") { p[tete[0]][tete[1]] = 0; - p[tete[0]-1][tete[1]] = 1; + p[tete[0]][tete[1] - 1] = 1; p[queue[0]][queue[1]] = 0; - - /* test du sens de déplacement du serpent */ - - test_queue(queue, p); - tete[1] = tete[1] - 1; - - } + + if (Touch() == "XK_Right") { + + p[tete[0]][tete[1]] = 0; + + p[tete[0]][tete[1] + 1] = 1; + + p[queue[0]][queue[1]] = 0; + + tete[1] = tete[1] + 1; + + } + + if (Touch() == "XK_Up") { + + p[tete[0]][tete[1]] = 0; + + p[tete[0] - 1][tete[1]] = 1; + + p[queue[0]][queue[1]] = 0; + + tete[0] = tete[0] - 1; + + } + + if (Touch() == "XK_down") { + + p[tete[0]][tete[1]] = 0; + + p[tete[0] + 1][tete[1]] = 1; + + p[queue[0]][queue[1]] = 0; + + tete[0] = tete[0] + 1; + + /* mise à jour de la position de queue dans le plateau */ + + maj_queue(queue, p); + + } } + + return p; + +} + + diff --git a/snake/test_queue.c b/snake/update_queue.c similarity index 76% rename from snake/test_queue.c rename to snake/update_queue.c index fef43fd..018d876 100644 --- a/snake/test_queue.c +++ b/snake/update_queue.c @@ -1,4 +1,4 @@ -/* Fonction qui teste où se trouve la queue après déplacement du snake +/* Fonction qui mets à jour la position de la queue en fonction des déplacement du serpent Written by Yann KERAUDREN and Titouan LERICHE */ @@ -7,7 +7,7 @@ #include -int test_queue(int* queue, int** p) { +int maj_queue(int* queue, int** p) { if ( p[queue[0] +1 ][queue[1]] == 1 ) { diff --git a/snake/test_queue.h b/snake/update_queue.h similarity index 58% rename from snake/test_queue.h rename to snake/update_queue.h index 6a5982d..7100ed0 100644 --- a/snake/test_queue.h +++ b/snake/update_queue.h @@ -1,12 +1,12 @@ /* fichier d'en-tête du fichier source test_queue.c */ -#ifndef TEST_QUEUE_H -#define TEST_QUEUE_H +#ifndef UPDATE_QUEUE_H +#define UPDATE_QUEUE_H int test_queue(int* queue, int** p) ;* -#enfif /* TEST_QUEUE_H */ +#enfif /* UPDATE_QUEUE_H */