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