Version finale

This commit is contained in:
stiti 2023-12-11 20:41:12 +01:00
parent db7d299a96
commit 6eca33a185
2 changed files with 74 additions and 28 deletions

View File

@ -1,38 +1,37 @@
Snake : main.o jeu.o grille.o menu.o pomme.o serpent.o timer.o ### VARIABLES ###
gcc -lgraph -o Snake main.o jeu.o grille.o menu.o pomme.o serpent.o timer.o
main.o : ./src/main.c ./include/main.h ./include/menu.h ./include/jeu.h CC = gcc
CFLAGS = -lgraph -ansi
SRCDIR = ./src
HDIR = ./include
ODIR = ./out
OFILES = $(subst src/,out/,$(subst .c,.o,$(shell find $(SRCDIR)/ -type f)))
EXE = game
gcc -ansi -pedantic -c ./src/main.c ### BUT PAR DEFAUT ###
jeu.o : ./src/jeu.c ./include/grille.h ./include/serpent.h ./include/pomme.h ./include/jeu.h ./include/menu.h ./include/timer.h but : $(EXE)
gcc -ansi -pedantic -c ./src/jeu.c ### REGLES ESSENTIELLES ###
grille.o : ./src/grille.c ./include/grille.h $(ODIR)/%.o : $(SRCDIR)/%.c
@mkdir -p $(@D)
$(CC) -c $< -o $@
gcc -ansi -pedantic -c ./src/grille.c $(EXE) : $(OFILES)
$(CC) $(CFLAGS) -o $(EXE) $(OFILES)
menu.o : ./src/menu.c ./include/menu.h ./include/main.h ### REGLES OPTIONNELLES ###
gcc -ansi -pedantic -c ./src/menu.c run : $(EXE)
./$(EXE)
pomme.o : ./src/pomme.c ./include/grille.h ./include/serpent.h
gcc -ansi -pedantic -c ./src/pomme.c
serpent.o : ./src/serpent.c ./include/serpent.h ./include/main.h ./include/timer.h
gcc -ansi -pedantic -c ./src/serpent.c
timer.o : ./src/timer.c ./include/timer.h
gcc -ansi -pedantic -c ./src/timer.c
clean : clean :
-rm -f main.o jeu.o grille.o menu.o pomme.o serpent.o timer.o -rm -rf $(ODIR)
run : mrproper :
./Snake clean $(but)
.phony : clean ### BUTS FACTICES ###
.PHONY : but run clean mrproper

View File

@ -2,7 +2,54 @@
Cette version du jeu [Snake](https://fr.wikipedia.org/wiki/Serpentes) a été réalisée dans le cadre du [SAÉ1.01 "Implémentation d'un besoin client"](http://www.iut-fbleau.fr/sitebp/pt11/11_2023/UWO9O2WOJ7JETN3P.php) lors du premier semestre de BUT 1 à l'IUT de Fontainebleau. Cette version du jeu [Snake](https://fr.wikipedia.org/wiki/Serpentes) a été réalisée dans le cadre du [SAÉ1.01 "Implémentation d'un besoin client"](http://www.iut-fbleau.fr/sitebp/pt11/11_2023/UWO9O2WOJ7JETN3P.php) lors du premier semestre de BUT 1 à l'IUT de Fontainebleau.
## Work in progress... ## Lancement du programme
### Compilation
> Installer au préalable les [dépendances nécessaires](#dépendances) au fonctionnement du programme
Utiliser la commande suivante pour compiler le programme :
```bash
make
```
#### Méthode n°1 (recommandée) : Compiler et lancer le programme avec Make
Utiliser la commande suivante pour compiler puis lancer le programme :
```bash
make run
```
#### Méthode n°2 : Compiler puis lancer le programme
Une fois la [compilation du programme](#compilation) faite, exécuter le programme à l'aide de la commande suivante :
```bash
./game
```
## Comment jouer ?
### Les touches
- Flèches directionnel : se déplacer en haut, en bas, à droite, à gauche
- Espace : Mettre le jeu en pause
- Échap : Quitter la partie en cours
## Fonctionnalités
### Fonctionnalités exigées
- Mise en pause du jeu lorsque la touche Espace est pressée
- Quitter la partie en cours lorsque la touche Échap est pressée
- Affichage du score pendant et après la partie
- Affichage du temps pendant et après la partie
### Fonctionnalités additionnelles
#### 4 Modes de jeu différents
- Mode classique : Affichage d'une seule pomme
- Mode MultiPomme : Affichage de 5 pommes
- Mode PartieRapide : Affichage de 25 pommes et accélération du serpent en fonction du score
- Mode Accélération : Affichage d'une seule pomme et accélération du serpent en fonction du score
#### Menues uniques
Nous avons ajouter des menues afin de faciliter l'expérience utilisateur !
## Dépendances ## Dépendances
### Bibliothèque graphique de l'IUT de Fontainebleau ### Bibliothèque graphique de l'IUT de Fontainebleau
@ -13,4 +60,4 @@ Cette version du jeu [Snake](https://fr.wikipedia.org/wiki/Serpentes) a été r
- Programme réalisé par Moncef STITI (@stiti) et Marco ORFAO (@orfao) - Programme réalisé par Moncef STITI (@stiti) et Marco ORFAO (@orfao)
## Remerciements ## Remerciements
- Lyanis Saoudi (@saoudi) pour son explication sur la réalisation d'un readme.md - Lyanis Souidi pour son explication sur la réalisation d'un readme.md