maj
This commit is contained in:
@@ -8,6 +8,7 @@ but : run
|
|||||||
|
|
||||||
OFILES = plateau_init.o \
|
OFILES = plateau_init.o \
|
||||||
fenetre.o \
|
fenetre.o \
|
||||||
|
deplacement.o \
|
||||||
main.o
|
main.o
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
@@ -16,11 +17,13 @@ CFLAGS = -ansi -pedantic -lgraph
|
|||||||
|
|
||||||
### REGLES ESSENTIELLES ###
|
### REGLES ESSENTIELLES ###
|
||||||
|
|
||||||
plateau_init.o : plateau_init.h
|
plateau_init.o : plateau_init.h
|
||||||
|
|
||||||
fenetre.o : fenetre.h plateau_init.h
|
fenetre.o : fenetre.h plateau_init.h
|
||||||
|
|
||||||
main.o : main.c fenetre.h
|
deplacement.o : deplacement.h
|
||||||
|
|
||||||
|
main.o : main.c fenetre.h deplacement.h
|
||||||
|
|
||||||
|
|
||||||
### COMMANDES ###
|
### COMMANDES ###
|
||||||
|
@@ -5,14 +5,23 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <graphe.h>
|
#include <graph.h>
|
||||||
#include "plateau_init.h"
|
#include "plateau_init.h"
|
||||||
#include "update_queue.h"
|
#include "update_queue.h"
|
||||||
|
#include "deplacement.h"
|
||||||
|
|
||||||
|
|
||||||
void deplacement(int** p, int* tete, int* queue) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void deplacement (struct adresse* pointeur, char* sens) {
|
||||||
|
|
||||||
|
|
||||||
|
int** plateau = pointeur -> plateau;
|
||||||
|
|
||||||
|
unsigned char* tete = pointeur -> tete;
|
||||||
|
|
||||||
|
unsigned char* queue = pointeur -> queue;
|
||||||
|
|
||||||
|
|
||||||
/* affectations des commandes aux touches du jeu */
|
/* affectations des commandes aux touches du jeu */
|
||||||
@@ -21,95 +30,95 @@ void deplacement(int** p, int* tete, int* queue) {
|
|||||||
|
|
||||||
if (Touche() == XK_Left) {
|
if (Touche() == XK_Left) {
|
||||||
|
|
||||||
p[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
p[tete[0]][tete[1] - 1] = 1;
|
plateau[tete[0]][tete[1] - 1] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[1] = tete[1] - 1;
|
tete[1] = tete[1] - 1;
|
||||||
|
|
||||||
sens = "gauche";
|
*sens = "gauche";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Touch() == XK_Right) {
|
if (Touch() == XK_Right) {
|
||||||
|
|
||||||
p[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
p[tete[0]][tete[1] + 1] = 1;
|
plateau[tete[0]][tete[1] + 1] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[1] = tete[1] + 1;
|
tete[1] = tete[1] + 1;
|
||||||
|
|
||||||
sens = "droite";
|
*sens = "droite";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Touch() == XK_Up) {
|
if (Touch() == XK_Up) {
|
||||||
|
|
||||||
p[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
p[tete[0] - 1][tete[1]] = 1;
|
plateau[tete[0] - 1][tete[1]] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[0] = tete[0] - 1;
|
tete[0] = tete[0] - 1;
|
||||||
|
|
||||||
sens = "haut";
|
*sens = "haut";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Touch() == XK_down) {
|
if (Touch() == XK_Down) {
|
||||||
|
|
||||||
p[tete[0]][tete[1]] = 0;
|
plateau[tete[0]][tete[1]] = 0;
|
||||||
|
|
||||||
p[tete[0] + 1][tete[1]] = 1;
|
plateau[tete[0] + 1][tete[1]] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[0] = tete[0] + 1;
|
tete[0] = tete[0] + 1;
|
||||||
|
|
||||||
sens = "bas";
|
*sens = "bas";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
if ( strcmp(sens,"bas") == 1) {
|
if ( strcmp(*sens,"bas") == 1) {
|
||||||
|
|
||||||
p[tete[0] + 1][tete[1]] = 1;
|
plateau[tete[0] + 1][tete[1]] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[0] = tete[0] + 1;
|
tete[0] = tete[0] + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( strcmp(sens, "haut") ==1) {
|
if ( strcmp(*sens, "haut") ==1) {
|
||||||
|
|
||||||
p[tete[0] - 1][tete[1]] = 1;
|
plateau[tete[0] - 1][tete[1]] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[0] = tete[0] -1;
|
tete[0] = tete[0] -1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( strcmp(sens, "droite") ==1) {
|
if ( strcmp(*sens, "droite") ==1) {
|
||||||
|
|
||||||
p[tete[0]][tete[1] + 1] = 1;
|
plateau[tete[0]][tete[1] + 1] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[1] = tete[1] + 1;
|
tete[1] = tete[1] + 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( strcmp(sens, "gauche") ==1) {
|
if ( strcmp(*sens, "gauche") ==1) {
|
||||||
|
|
||||||
p[tete[0]][tete[1] - 1] = 1;
|
plateau[tete[0]][tete[1] - 1] = 1;
|
||||||
|
|
||||||
p[queue[0]][queue[1]] = 0;
|
plateau[queue[0]][queue[1]] = 0;
|
||||||
|
|
||||||
tete[1] = tete[1] - 1;
|
tete[1] = tete[1] - 1;
|
||||||
|
|
||||||
@@ -120,12 +129,11 @@ void deplacement(int** p, int* tete, int* queue) {
|
|||||||
|
|
||||||
/* mise à jour de la position de queue dans le plateau */
|
/* mise à jour de la position de queue dans le plateau */
|
||||||
|
|
||||||
maj_queue(queue, p);
|
maj_queue(queue, plateau);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return p;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3,6 +3,6 @@
|
|||||||
#ifndef DEPLACEMENT_H
|
#ifndef DEPLACEMENT_H
|
||||||
#define DEPLACEMENT_H
|
#define DEPLACEMENT_H
|
||||||
|
|
||||||
void deplacement (int** p, int* tete, int* queue);
|
void deplacement (struct adresse* pointeur, char* sens);
|
||||||
|
|
||||||
#endif /* DEPLACEMENT_H */
|
#endif /* DEPLACEMENT_H */
|
||||||
|
@@ -27,7 +27,6 @@ int start (struct adresse* pointeur) {
|
|||||||
|
|
||||||
int score=0;
|
int score=0;
|
||||||
|
|
||||||
char* num_score = "score : 00000";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BIN
snake/lancement
Executable file
BIN
snake/lancement
Executable file
Binary file not shown.
50
snake/main.c
50
snake/main.c
@@ -3,9 +3,10 @@
|
|||||||
#include <graph.h>
|
#include <graph.h>
|
||||||
#include "fenetre.h"
|
#include "fenetre.h"
|
||||||
#include "plateau_init.h"
|
#include "plateau_init.h"
|
||||||
|
#include "deplacement.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define CYCLE 1000000L
|
||||||
|
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
@@ -14,6 +15,23 @@ int main(void) {
|
|||||||
struct adresse* pointeur = plateau_init();
|
struct adresse* pointeur = plateau_init();
|
||||||
|
|
||||||
|
|
||||||
|
char* sens = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
unsigned char jeu = 1 ;
|
||||||
|
|
||||||
|
unsigned long suivant;
|
||||||
|
|
||||||
|
sens = malloc(sizeof(char));
|
||||||
|
|
||||||
|
*sens = "bas";
|
||||||
|
|
||||||
|
|
||||||
|
suivant = Microsecondes() + CYCLE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
InitialiserGraphique();
|
InitialiserGraphique();
|
||||||
|
|
||||||
/*initialisation de la taille de la fenetre de jeux*/
|
/*initialisation de la taille de la fenetre de jeux*/
|
||||||
@@ -21,17 +39,41 @@ int main(void) {
|
|||||||
CreerFenetre(10,10,1450,840);
|
CreerFenetre(10,10,1450,840);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
start(pointeur);
|
start(pointeur);
|
||||||
|
|
||||||
/* while ( jeu = 1) {
|
while ( jeu = 1) {
|
||||||
|
|
||||||
if (Microsecondes() > suivant) {
|
if (Microsecondes() > suivant) {
|
||||||
|
|
||||||
|
|
||||||
deplacement(plateau, tete, queue);
|
deplacement(pointeur, sens);
|
||||||
|
|
||||||
|
|
||||||
}*/
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* déallocations des tableaux */
|
||||||
|
|
||||||
|
for ( i = 0; i < LIGNES; i++) {
|
||||||
|
|
||||||
|
free(tableau[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pointeur);
|
||||||
|
|
||||||
|
free(tete);
|
||||||
|
|
||||||
|
free(queue);
|
||||||
|
|
||||||
|
free(sens);
|
||||||
|
|
||||||
|
|
||||||
|
free(tableau);
|
||||||
|
|
||||||
|
|
||||||
Touche();
|
Touche();
|
||||||
|
@@ -94,14 +94,16 @@ struct adresse* plateau_init(void) {
|
|||||||
|
|
||||||
plateau[ligne_pomme][colonne_pomme] = 2;
|
plateau[ligne_pomme][colonne_pomme] = 2;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pointeur -> plateau = plateau;
|
|
||||||
pointeur -> tete = tete;
|
|
||||||
pointeur -> queue = queue;
|
|
||||||
|
|
||||||
|
pointeur -> plateau = plateau;
|
||||||
|
pointeur -> tete = tete;
|
||||||
|
pointeur -> queue = queue;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return pointeur;
|
return pointeur;
|
||||||
}
|
}
|
||||||
|
@@ -4,9 +4,9 @@
|
|||||||
#ifndef UPDATE_QUEUE_H
|
#ifndef UPDATE_QUEUE_H
|
||||||
#define UPDATE_QUEUE_H
|
#define UPDATE_QUEUE_H
|
||||||
|
|
||||||
int test_queue(int* queue, int** p) ;*
|
int test_queue(int* queue, int** p) ;
|
||||||
|
|
||||||
#enfif /* UPDATE_QUEUE_H */
|
#endif /* UPDATE_QUEUE_H */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user