Playing with Turtles
Objectifs
L'objectif est de maitriser un peu mieux la manipulation des tortues.
La simulation à réaliser met en jeu plusieurs robots de couleurs sur un terrain de 30 x 30 patchs, de couleur blanche.
10 robots sont répartis de façon aléatoire sur chacune sur 3 bases de couleurs en bas de la carte : bleu, rouge, jaune. Cela fait donc 30 robots en tout.
Chaque base est un carré de 3 x 3 patch. Sur la carte, des patchs de taille 1x1 de la même couleur que les trois bases sont répartis de façon aléatoire. Il y a 10 patchs par couleur, et une seule couleur possible par patch. Il y a 2 types de robots, les robots dont la marche est aléatoire, avec une vitesse de 1, et les robots qui se dirigent toujours vers la ressource la plus proche mais avec une vitesse de 0.2
Lorsque la simulation démarre, les robots démarrent chacun de leur base attitré. Chaque robot qui tombe sur un patch de sa couleur, soit par hasard, soit de façon dirigé, reinitialise le patch en blanc et continue sa route.
On considère que la ressource a été ramassé. Le robot qui est dirigé choisi une nouvelle cible « ressource » la plus proche. Si la cible a disparu entre temps, il en prend une autre.
La première équipe de robot qui a ramassé toutes les ressources a gagné, ou si la partie dure plus de 200 pas de temps, alors la simulation s’arrête. Des moniteurs indiquent en permanence le nb de ressources restantes (ex, ici les moniteurs indique 8 pour chaque ressources de couleur)
Bonus :
- Les robots doivent ramener la ressource à la base pour marquer le point
- Un robot peut en voler un autre si ils sont sur le même patch, avec une probabilité de 30 %
Dans cette exercice, nous utilisons les concepts suivants :
- le positionnement contraint en x.y
- la communication entre Tortues et Patch
- le stockage de variable de type Agent
- les attributs et primitives de déplacements des Tortues : fd, heading, etc.
- les variables globales
- les moniteurs
- la condition d'arrêt