<commit_before>Coding dojo : randori : city
===================================

Fourni
------

* Classe Ecosystem + les modules de city (builder, city-view, city-core, city-parent, graph-core, life-core, map-core, sunlight-core, transport)
* jetty:run

Steps proposés
--------------

* Utilisation de l'API
** Step 0 : Créer une source en (100, 0) à l'aide de la méthode createSource(int x, int z). Créer une route de (100,0) à (100,100) à l'aide de la méthode city.createRoad(int x, int z, int xD, int zD, Color color); (Une route doit être connectée à une source) 
** Step 1 : Créer un bâtiment aux coordonnées (99, 90) et de hauteur 0 à l'aide de la méthode city.updateOrCreateBuilding(int x, int z, int height, String color)
** Step 2 : Créer un transport en (100,0) à l'aide de la méthode city.createTransport(Coord2D coord, String color)
** Step 3 : Déplacer le transport à l'aide de la méthode void send(TransportMove transportMove, String name, Address origin, Address destination, Product p). Utiliser cette méthode pour faire bouger le transport de (100, 0) à (100, 90)
** Step 4 : Implémenter la méthode TransportMovePop.finish pour faire evoluer la hauteur du batiment créé en step 1 selon PopProduct.getNbPerson(), supprimer ensuite le transport. Vous pouvez utiliser la méthode city.findBuilding pour retrouver un batiment selon ses coordonnées.
* Conception
** Step 5 : Créer de quoi fabriquer des routes droites, des carrefours, des blocs (rectangles).
Pour les routes droites : un point d'entrée + un vecteur (horizontal ou vertical (0,Z) ou (X,0))
Pour les carrefours : un point d'entrée + un vecteur (horizontal ou vertical (0,Z) ou (X,0), creation de 3 branches)
Pour les blocs : un point d'entrée + un vecteur (avec X et Z différent de 0). Si on a un point d'entrée de 0,0 alors on construira (0,0),(X,0) | (0,0),(0,Z) | (0,Z),(X,Z) | (X,0),(X,Z)
On doit avoir en retour les nouveaux points d'entrée.





Extensions possibles
--------------------
<commit_msg>update CD<commit_after>Coding dojo : randori : city
===================================

Fourni
------

* Classe Ecosystem + les modules de city (builder, city-view, city-core, city-parent, graph-core, life-core, map-core, sunlight-core, transport)
* jetty:run

Steps proposés
--------------

* Initialisation

**S1) Placer un building A rouge de hauteur 70 à l'emplacement 100, 50

**S2) Placer un building B bleu de hauteur 10 à l'emplacement 100, 10

**S3) Placer une route reliant les deux buildings

**S4) Faire apparaitre un transport se déplacant sur la route, de A en B

**S5) Le transport doit faire l'aller-retour entre A et B (sans fin, sans pause)

**S6) Le transport en A récupère des produits (simuler par la baisse de la hauteur du building A)
 pour les remettre au building B (simuler  par une augmentation de la hauteur du building B).
Le transport ensuite retourne vers le building A rechercher des produits et la boucle recommence.
Le building est contruit lorsque sa hauteur atteint 50 de haut ; Le transport disparait alors

**S7) Placer un building C vert de hauteur 10 à l'emplacement 100, 30. 
Créer un deuxième transport entre A en C à l'instar du transport entre A et B.

**S8) Si un transport revient prendre des matériaux, mais que la pile A est à 0, le camion reste immobile en attente de matériaux

**S9) La pile A est rechargée de 10 toutes les 35 s (ce qui débloque les camions en attente)


* Conception

**S1 : Créer de quoi fabriquer des routes droites, des carrefours, des blocs (rectangles).
Pour les routes droites : un point d'entrée + un vecteur (horizontal ou vertical (0,Z) ou (X,0))
Pour les carrefours : un point d'entrée + un vecteur (horizontal ou vertical (0,Z) ou (X,0), creation de 3 branches)
Pour les blocs : un point d'entrée + un vecteur (avec X et Z différent de 0). Si on a un point d'entrée de 0,0 alors on construira (0,0),(X,0) | (0,0),(0,Z) | (0,Z),(X,Z) | (X,0),(X,Z)
On doit avoir en retour les nouveaux points d'entrée.


* REST communication avec une autre ville




Extensions possibles
--------------------

{'fraction_non_alphanumeric': 0.11963492846571287, 'fraction_numerical': 0.02713369511593488, 'mean_word_length': 4.0814536340852134, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7610550', 'n_tokens_mistral': 1390, 'n_tokens_neox': 1332, 'n_words': 592}