Skip to content
Snippets Groups Projects
Commit 9bb00e66 authored by DARWICH ALI's avatar DARWICH ALI
Browse files

ajout projet ali&omar techdev

parent aace7ab2
Branches
No related merge requests found
Showing
with 2700 additions and 0 deletions
File deleted
projet_ali @ 9a4554c7
Subproject commit 9a4554c7e74842021b8a0596782dfe01c0fbb60b
This diff is collapsed.
CC=gcc
CFLAGS1= -Wall -g
CFLAGS2= -I include -I/usr/include/cairo
LDFLAGS = -lcairo -lm -lX11
vpath %.h include
vpath %.c src
vpath %.o obj
OBJETS = $(patsubst src/%.c, obj/%.o, $(wildcard src/*.c))
OBJ= obj/
ifeq ($(MODE),TEXTE)
CFLAGS1 += -DMODE=TEXTE
endif
main: $(OBJETS)
$(CC) $(CFLAGS1) -o $@ $? $(LDFLAGS) $(CFLAGS2)
mkdir -p bin
mv -f main ./bin/
$(OBJ)main.o: main.c grille.h io_g.h io.h jeu.h
$(CC) $(CFLAGS1) -c $< $(CFLAGS2)
mkdir -p obj
mv -f *.o ./obj/
$(OBJ)%.o: %.c %.h
mkdir -p obj
$(CC) $(CFLAGS1) -c $< $(CFLAGS2)
mv -f *.o ./obj/
dist: Makefile README.md Doxyfile src include grilles data
tar -cvz $^ -f DarwichOmar-GoL-V5.1.tar.xz
lib: grille.o io_g.o io.o jeu.o
ar -crv libjeu.a $^
ranlib libjeu.a
mkdir -p lib
mv libjeu.a ./lib/
clean:
rm -rf obj bin *.tar.xz doc
# T.DEV_JDV
![The Logo](./data/img/gif2.gif)
## description
**Le Jeu de la Vie (ou Game of Life)** est, en réalité, un automate cellulaire défini en 1970
par le mathématicien anglais **John Conway** afin de tenter de résoudre un problème soulevé par un
mathématicien, père de l’informatique, **John Von Neumann**.
Ce n’est pas à proprement parler un jeu : il ne nécessite pas l’intervention d’un joueur humain, hormis
pour fixer les conditions initiales du jeu. Il se compose d’un univers dans lequel évoluent des cellules
vivantes suivant des règles d’évolution précises.
Dans la version originale décrite par John Conway, l’univers est défini sur une grille à deux dimen-
sions, de taille variable, où chaque case est une cellule pouvant prendre deux états différents : morte ou
vivante. Le passage d’un état à l’autre est guidé par les règles d’évolution suivantes :
* Une cellule morte au temps t devient vivante au temps t + 1 si et seulement si elle a exactement 3
cellules vivantes dans son voisinage.
* Une cellule vivante au temps t reste vivante au temps t + 1 si et seulement si elle a exactement 2
ou 3 cellules vivantes dans son voisinage, sinon elle meurt.
* Le voisinage utilisé est le 8-voisinage : pour une cellule donnée, ses voisines sont les 8 cellules
qui l’entourent
### Exemples
![EX1](./data/img/gif1.gif)
![EX2](./data/img/gif3.gif)
**pour plus d'info**
[wiki_link](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life "visitez page wiki")
## Versions
1. V1
* v1.1 version initial avec quellque modification.
* v1.2 fin de section de tp: ajout de fichier Doxyfile et .gitignore.
* v1.3 documentation réaliser et les fonction à commpléter sauf celle du n, make doit étre éxécuter deux fois, fonction fopen ne march pas, la version ne peut pas étre éxécuter.
* v1.4 Makefile marche bien, touch n ne march pas.
* v1.5 tous les fonction marche, mais pulusier probléme de mémoire, version doit étre modifier.
* v1.6 les probléme de mémoire sont régler mais l'affichage n'est pas encore propre.
* v1.7 affiche bien. répend à tout les question VERSION STABLE
* v1.8 affichage avec couleur
2. V2
* v2.1 version du base qui repend just aux sujet du niveau 2
* **v2.2**
+ ajoute de deus grilles 9 et 10
+ modification d'affichage :
- cellule de couleur **Jaune** pour age entre 0 et 2.
- cellule de couleur **Vert** pour age entre 3 et 5.
- cellule de couleur **Rouge** pour age entre 6 et 8.
+ modification des documentation doxygen et presentation doxygen
+ addiction des image dans README et dans doxygen
## IMPORTANT
### utilisation
#### tp1
pour la compilation : utiliser le Makefile du répertoire racine "T.DEV_JDV"
pour éxécution : du méme répertoire utiliser : ./bin/main ./grilles/grilleX.txt
et avec la touch n dans le main utiliser le même chemin pour trouver les grilles.
le répertiore grilles à maitre dans le répertiore racine directement
X € [1;8] X € N
#### tp2
si l'affichage n'est pas propre essaiez de ouvrir le termial aux taille max. aussi vous pouvez diminuier la taille des charactére.
la taille du fenétre est important pour les grilles ajouter en particulier grille10 "Gosper glider gun"
pour la grille10 fermez l'option cyclique et aussi vieillisement
File added
S3/projet_techdev/projet_omar/data/img/gif1.gif

6.02 KiB

S3/projet_techdev/projet_omar/data/img/gif2.gif

20.6 KiB

S3/projet_techdev/projet_omar/data/img/gif3.gif

20.8 KiB

S3/projet_techdev/projet_omar/data/img/gif4.gif

6.02 KiB

4 6
3
1 2
1 3
1 4
0
\ No newline at end of file
20 38
36
1 25
2 23
2 25
3 13
3 14
3 21
3 22
3 35
3 36
4 12
4 16
4 21
4 22
4 35
4 36
5 1
5 2
5 11
5 17
5 21
5 22
6 1
6 2
6 11
6 15
6 17
6 18
6 23
6 25
7 11
7 17
7 25
8 12
8 16
9 13
9 14
0
10 12
18
5 5
6 5
7 5
8 5
5 6
8 6
5 7
8 7
5 8
8 8
5 9
8 9
5 10
8 10
5 11
6 11
7 11
8 11
0
\ No newline at end of file
8 8
6
5 5
5 6
5 7
6 4
6 5
6 6
0
\ No newline at end of file
8 8
5
2 2
3 3
4 3
4 1
4 2
0
4 6
3
1 2
1 3
1 4
2
1 5
2 2
10 12
18
5 5
6 5
7 5
8 5
5 6
8 6
5 7
8 7
5 8
8 8
5 9
8 9
5 10
8 10
5 11
6 11
7 11
8 11
1
0 7
8 8
6
5 5
5 6
5 7
6 4
6 5
6 6
1
6 7
8 8
5
2 2
3 3
4 3
4 1
4 2
1
0 7
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment