From 8cec4edd14ffa1516a967ccc27a3be02e3b43f25 Mon Sep 17 00:00:00 2001 From: keraudre <yann.keraudren@etu-upec.fr> Date: Wed, 13 Dec 2023 19:29:11 +0100 Subject: [PATCH] =?UTF-8?q?d=C3=A9but=20du=20d=C3=A9placement=20du=20serpe?= =?UTF-8?q?nt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snake/deplacement.c | 112 +++++++++++++++++++++++-------------------- snake/lancement | Bin 20376 -> 20424 bytes snake/main.c | 2 + snake/plateau_init.c | 5 +- 4 files changed, 65 insertions(+), 54 deletions(-) diff --git a/snake/deplacement.c b/snake/deplacement.c index c764393..803f4ca 100644 --- a/snake/deplacement.c +++ b/snake/deplacement.c @@ -29,6 +29,62 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) { yellow = CouleurParComposante(255,255,0); + + + printf("%d %d", queue[0], queue[1]); + + + if ( *sens == BAS) { + + plateau[tete[0] + 1][tete[1]] = 1; + + plateau[queue[0]][queue[1]] = 0; + + tete[0] = tete[0] + 1; + + ChoisirCouleurDessin(yellow); + RemplirRectangle(20*(tete[1] + 1),20*(tete[0] +1 ),20,20); + + ChoisirCouleurDessin(green); + RemplirRectangle(20*(queue[1] +1 ),20*(queue[0] +1 ),20,20); + + queue[0] = queue[0] + 1; + + + + + } + + if ( *sens == HAUT) { + + plateau[tete[0] - 1][tete[1]] = 1; + + plateau[queue[0]][queue[1]] = 0; + + tete[0] = tete[0] -1; + + } + + if ( *sens == DROITE) { + + plateau[tete[0]][tete[1] + 1] = 1; + + plateau[queue[0]][queue[1]] = 0; + + tete[1] = tete[1] + 1; + + } + + if ( *sens == GAUCHE) { + + plateau[tete[0]][tete[1] - 1] = 1; + + plateau[queue[0]][queue[1]] = 0; + + tete[1] = tete[1] - 1; + + } + /* affectations des commandes aux touches du jeu */ @@ -89,55 +145,9 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) { *sens = DROITE; } + } - else { - if ( *sens == BAS) { - - plateau[tete[0] + 1][tete[1]] = 1; - - plateau[queue[0]][queue[1]] = 0; - - tete[0] = tete[0] + 1; - - ChoisirCouleurDessin(yellow); - RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); - - ChoisirCouleurDessin(green); - RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20); - - - } - - if ( *sens == HAUT) { - - plateau[tete[0] - 1][tete[1]] = 1; - - plateau[queue[0]][queue[1]] = 0; - - tete[0] = tete[0] -1; - - } - - if ( *sens == DROITE) { - - plateau[tete[0]][tete[1] + 1] = 1; - - plateau[queue[0]][queue[1]] = 0; - - tete[1] = tete[1] + 1; - - } - - if ( *sens == GAUCHE) { - - plateau[tete[0]][tete[1] - 1] = 1; - - plateau[queue[0]][queue[1]] = 0; - - tete[1] = tete[1] - 1; - - } @@ -145,12 +155,12 @@ void deplacement (struct adresse* pointeur, unsigned char* sens) { /* mise à jour de la position de queue dans le plateau */ - } - } - - + } + + + diff --git a/snake/lancement b/snake/lancement index 54aaf3752d4ba0ad359c4337f47679bbff89e724..28522c02a702f710445d7ce9c6b4c95a7c166e97 100755 GIT binary patch delta 2981 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 JoLuE02LN3#qIm!S delta 2839 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 diff --git a/snake/main.c b/snake/main.c index 635f63c..dad04c3 100644 --- a/snake/main.c +++ b/snake/main.c @@ -51,6 +51,8 @@ int main(void) { deplacement(pointeur, sens); + suivant = Microsecondes() + CYCLE; + } diff --git a/snake/plateau_init.c b/snake/plateau_init.c index e87db1e..b985944 100755 --- a/snake/plateau_init.c +++ b/snake/plateau_init.c @@ -20,7 +20,6 @@ struct adresse* plateau_init(void) { int** plateau = NULL; - struct adresse plateau_tete_queue = {NULL, NULL, NULL}; struct adresse* pointeur = NULL; @@ -55,12 +54,12 @@ struct adresse* plateau_init(void) { /* positionnement du serpent et marquage de la tete et la queue */ - tete[0] = (LIGNES/2)-5 ; + tete[0] = ((LIGNES/2)+(TAILLE_SERPENT/2)-1); tete[1] = COLONNES/2 ; - queue[0] = ((LIGNES/2)-5)+TAILLE_SERPENT-1; + queue[0] = ((LIGNES/2)-(TAILLE_SERPENT/2)); queue[1] = COLONNES/2; for (i = 0; i < TAILLE_SERPENT ; i++) {