2023-12-07 11:15:44 +01:00
|
|
|
/* Fonctions qui prend en argument le plateau de jeu et le modifie en fonction des déplacements du serpent
|
|
|
|
|
|
|
|
Written by Yann KERAUDREN and Titouan LERICHE */
|
|
|
|
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <graphe.h>
|
2023-12-07 22:04:47 +01:00
|
|
|
#include "plateau_init.h"
|
2023-12-07 11:15:44 +01:00
|
|
|
|
|
|
|
void deplacement(int* p) {
|
|
|
|
|
2023-12-07 22:04:47 +01:00
|
|
|
int i, j;
|
|
|
|
|
|
|
|
int* tete = NULL, queue = NULL;
|
|
|
|
|
|
|
|
/* alloacation des tableau tete et queue qui prendront les coordonnées de la tête et la queue */
|
|
|
|
|
|
|
|
tete = malloc(2*sizeof(short int));
|
|
|
|
|
|
|
|
queue = malloc(2*sizeof(short int));
|
|
|
|
|
|
|
|
|
|
|
|
/* recherche de la tête et la queue dans le tableau */
|
|
|
|
|
|
|
|
for ( i = 0; i < LIGNES; i++) {
|
|
|
|
|
|
|
|
for ( j = 0; j < COLONNES; j++) {
|
|
|
|
|
|
|
|
if ( p[i][j] == -1) {
|
|
|
|
|
|
|
|
tete[0] = i;
|
|
|
|
tete[1] = j;
|
|
|
|
|
|
|
|
}
|
|
|
|
if ( p[i][j] == -2) {
|
|
|
|
|
|
|
|
queue[0] = i;
|
|
|
|
queue[1] = j;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* affectations des commandes aux touches du jeu */
|
2023-12-07 11:15:44 +01:00
|
|
|
|
|
|
|
if (TouchEnAttente() == 1) {
|
|
|
|
|
|
|
|
if (Touche() == "Xk_Left") {
|
|
|
|
|
2023-12-07 22:04:47 +01:00
|
|
|
p[tete[0]][tete[1]] = 0;
|
2023-12-07 16:16:15 +01:00
|
|
|
|
2023-12-07 22:04:47 +01:00
|
|
|
p[tete[0]-1][tete[1]] = 1;
|
2023-12-07 16:16:15 +01:00
|
|
|
|
2023-12-07 22:04:47 +01:00
|
|
|
p[queue[0]][queue[1]] = 0;
|
2023-12-07 16:16:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2023-12-07 11:15:44 +01:00
|
|
|
|
|
|
|
|