maj
This commit is contained in:
parent
e83a53cecc
commit
f72d72fa8e
@ -10,61 +10,8 @@
|
||||
#include "update_queue.h"
|
||||
|
||||
|
||||
int** deplacement(int* p, int timer) {
|
||||
void deplacement(int** p, int* tete, int* queue) {
|
||||
|
||||
int i, j;
|
||||
|
||||
int* tete = NULL, queue = NULL;
|
||||
|
||||
char sens;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* avancement du serpent */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 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;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -81,6 +28,8 @@ int** deplacement(int* p, int timer) {
|
||||
p[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[1] = tete[1] - 1;
|
||||
|
||||
sens = "gauche";
|
||||
|
||||
}
|
||||
|
||||
@ -94,9 +43,11 @@ int** deplacement(int* p, int timer) {
|
||||
|
||||
tete[1] = tete[1] + 1;
|
||||
|
||||
sens = "droite";
|
||||
|
||||
}
|
||||
|
||||
if (Touch() == XK_Up") {
|
||||
if (Touch() == XK_Up) {
|
||||
|
||||
p[tete[0]][tete[1]] = 0;
|
||||
|
||||
@ -106,9 +57,10 @@ int** deplacement(int* p, int timer) {
|
||||
|
||||
tete[0] = tete[0] - 1;
|
||||
|
||||
sens = "haut";
|
||||
}
|
||||
|
||||
if (Touch() == "XK_down") {
|
||||
if (Touch() == XK_down) {
|
||||
|
||||
p[tete[0]][tete[1]] = 0;
|
||||
|
||||
@ -116,7 +68,55 @@ int** deplacement(int* p, int timer) {
|
||||
|
||||
p[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[0] = tete[0] + 1;
|
||||
tete[0] = tete[0] + 1;
|
||||
|
||||
sens = "bas";
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
if ( strcmp(sens,"bas") == 1) {
|
||||
|
||||
p[tete[0] + 1][tete[1]] = 1;
|
||||
|
||||
p[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[0] = tete[0] + 1;
|
||||
}
|
||||
|
||||
if ( strcmp(sens, "haut") ==1) {
|
||||
|
||||
p[tete[0] - 1][tete[1]] = 1;
|
||||
|
||||
p[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[0] = tete[0] -1;
|
||||
|
||||
}
|
||||
|
||||
if ( strcmp(sens, "droite") ==1) {
|
||||
|
||||
p[tete[0]][tete[1] + 1] = 1;
|
||||
|
||||
p[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[1] = tete[1] + 1;
|
||||
|
||||
}
|
||||
|
||||
if ( strcmp(sens, "gauche") ==1) {
|
||||
|
||||
p[tete[0]][tete[1] - 1] = 1;
|
||||
|
||||
p[queue[0]][queue[1]] = 0;
|
||||
|
||||
tete[1] = tete[1] - 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* mise à jour de la position de queue dans le plateau */
|
||||
|
||||
|
8
snake/deplacement.h
Normal file
8
snake/deplacement.h
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
#ifndef DEPLACEMENT_H
|
||||
#define DEPLACEMENT_H
|
||||
|
||||
void deplacement (int** p, int* tete, int* queue);
|
||||
|
||||
#endif /* DEPLACEMENT_H */
|
@ -8,9 +8,11 @@
|
||||
#include "plateau_init.h"
|
||||
#include "ajout_score.c"
|
||||
|
||||
#define CYCLE 1000000L
|
||||
|
||||
|
||||
int start (void) {
|
||||
|
||||
void start (void) {
|
||||
|
||||
couleur green, grey, yellow, red, black, white;
|
||||
|
||||
@ -18,7 +20,6 @@ int start (void) {
|
||||
|
||||
int i, j;
|
||||
|
||||
|
||||
char* texte1 = "espace = lancer";
|
||||
|
||||
char* texte2 = "espace = pause";
|
||||
@ -142,8 +143,6 @@ int start (void) {
|
||||
|
||||
|
||||
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,6 @@
|
||||
#define FENETRE_H
|
||||
|
||||
|
||||
int start (void);
|
||||
void start (void);
|
||||
|
||||
#endif /* FENETRE_H */
|
||||
|
BIN
snake/lancement
BIN
snake/lancement
Binary file not shown.
35
snake/main.c
35
snake/main.c
@ -3,6 +3,9 @@
|
||||
#include <graph.h>
|
||||
#include "fenetre.h"
|
||||
#include "plateau_init.h"
|
||||
#include "search_tete.h"
|
||||
#include "search_queue.h"
|
||||
#include "deplacement.h"
|
||||
|
||||
|
||||
|
||||
@ -10,7 +13,28 @@
|
||||
|
||||
int main(void) {
|
||||
|
||||
InitialiserGraphique();
|
||||
short int jeu = 1;
|
||||
|
||||
int** plateau = plateau_init();
|
||||
|
||||
unsigned long suivant;
|
||||
|
||||
int* tete = NULL, queue = NULL;
|
||||
|
||||
char sens = "bas";
|
||||
|
||||
|
||||
/* 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));
|
||||
|
||||
|
||||
|
||||
suiavnt = Microsencondes() + CYCLE;
|
||||
|
||||
InitialiserGraphique();
|
||||
|
||||
/*initialisation de la taille de la fenetre de jeux*/
|
||||
|
||||
@ -19,6 +43,15 @@ int main(void) {
|
||||
|
||||
start();
|
||||
|
||||
while ( jeu = 1) {
|
||||
|
||||
if (Microsecondes() > suivant) {
|
||||
|
||||
|
||||
deplacement(plateau, tete, queue);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Touche();
|
||||
|
31
snake/search_queue.c
Normal file
31
snake/search_queue.c
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "plateau_init.h"
|
||||
|
||||
|
||||
int* search_queue( int* queue, int** p) {
|
||||
|
||||
int i, j;
|
||||
|
||||
/* 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] == -2) {
|
||||
|
||||
queue[0] = i;
|
||||
queue[1] = j;
|
||||
|
||||
p[i][j] = 1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return queue;
|
||||
|
||||
}
|
38
snake/search_tete.c
Normal file
38
snake/search_tete.c
Normal file
@ -0,0 +1,38 @@
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "plateau_init.h"
|
||||
|
||||
|
||||
|
||||
|
||||
int* search_tete(int* tete, int** p) {
|
||||
|
||||
|
||||
int i, j;
|
||||
|
||||
|
||||
|
||||
|
||||
/* 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;
|
||||
|
||||
p[i][j] = 1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tete;
|
||||
|
||||
}
|
||||
|
0
snake/search_tete.h
Normal file
0
snake/search_tete.h
Normal file
@ -7,7 +7,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
int maj_queue(int* queue, int** p) {
|
||||
void maj_queue(int* queue, int** p) {
|
||||
|
||||
if ( p[queue[0] +1 ][queue[1]] == 1 ) {
|
||||
|
||||
@ -31,7 +31,5 @@ int maj_queue(int* queue, int** p) {
|
||||
queue[1] = queue[1] -1;
|
||||
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user