From fe917685ef988d3a8ec0675683a6db55b0b251c8 Mon Sep 17 00:00:00 2001
From: "steven.liatti" <steven.liatti@hesge.ch>
Date: Tue, 14 May 2019 11:49:49 +0200
Subject: [PATCH] Update enonce

---
 doc/enonce.html |   2 +-
 doc/enonce.pdf  | Bin 606592 -> 606614 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/enonce.html b/doc/enonce.html
index fc4b94e..1769012 100644
--- a/doc/enonce.html
+++ b/doc/enonce.html
@@ -378,7 +378,7 @@ document.getElementsByTagName("head")[0].appendChild(fileref)
 <ul>
 <li>Le domaine de jeu est rectangulaire et défini par une largeur et une hauteur fixes.</li>
 <li>Sur ce domaine, sont présentes des particules de nourriture qui sont caractérisées uniquement par leur position. Si une cellule rencontre une particule de nourriture, la cellule gagne en masse et la particule disparait du domaine. La quantité de nourriture initiale est définie au début du programme. Selon une probabilité donnée, la nourriture “réapparaît” sur des points aléatoires du domaine.</li>
-<li>Chaque cellule est définie par un état (“morte” ou “vivante”), une couleur (fixe tout au long de la vie de la cellule), une direction de déplacement, une position sur le domaine de jeu et une masse (initialement comprise entre 5 et 8). De cette masse, sont déduits le rayon du disque la représentant graphiquement et sa vitesse de déplacement. Elle se déplace de manière aléatoire dans une direction donnée, selon les huit points cardinaux principaux, et change de direction après un certain temps, de manière aléatoire également. Si son centre entre en collision avec les bords du domaine de jeu, elle doit rebondir (voir explications plus bas). Si elle mange une particule de nourriture, elle gagne une unité de masse, mais perds en vitesse. Elle ne peut augmenter que d’une unité à la fois, c’est à dire manger une seule particule de nourriture à chaque déplacement. Si elle mange une autre cellule, elle récupère la masse de cette dernière. Si elle est mangée par une autre cellule, son état passe à “mort” et au bout d’un certain temps, elle réapparaît sur le domaine, de manière analogue aux conditions initiales. La masse maximale sera définie à 10% de la hauteur du domaine de jeu.</li>
+<li>Chaque cellule est définie par un état (“morte” ou “vivante”), une couleur (fixe tout au long de la vie de la cellule), une direction de déplacement, une position sur le domaine de jeu et une masse (initialement comprise entre 5 et 8). De cette masse, sont déduits le rayon du disque la représentant graphiquement et sa vitesse de déplacement. Elle se déplace de manière aléatoire dans une direction donnée, selon les huit points cardinaux principaux, et change de direction après un certain temps, de manière aléatoire également. Si son centre entre en collision avec les bords du domaine de jeu, elle doit rebondir (voir explications plus bas). Si elle mange une particule de nourriture, elle gagne une unité de masse, mais perds en vitesse. Elle ne peut augmenter que d’une unité à la fois, c’est à dire manger une seule particule de nourriture à chaque déplacement. Si elle mange une autre cellule, elle récupère la masse de cette dernière. Si elle est mangée par une autre cellule, son état passe à “mort” et au bout d’un certain temps, elle réapparaît sur le domaine, de manière analogue aux conditions initiales. La hauteur du domaine de jeu représentera également la masse maximale d’une cellule.</li>
 </ul>
 <h2 id="relations-entre-masse-rayon-et-vitesse-des-cellules">Relations entre masse, rayon et vitesse des cellules</h2>
 <p>Pour ne pas faire “grossir” vos cellules trop rapidement, nous vous recommandons de déduire le rayon d’une cellule en fonction de sa masse par la fonction suivante :</p>
diff --git a/doc/enonce.pdf b/doc/enonce.pdf
index 35225ebd952fb712ff24170f21f7766f45ab2ef7..30b5f053b4743b71e451ce17661fadcd47678ad7 100644
GIT binary patch
delta 5501
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

delta 5440
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
Xn)`ivt|O;Bm${`em#V6(zZ(|-5J_F}

-- 
GitLab