Gère les paramètres d'usine des robots.
Quand un robot sort de l'usine, il n'a pas de nom.
La première fois qu'on allume un robot, un nom aléatoire lui est attribué, au format de deux lettres majuscules suivies de trois chiffres, comme RX837 ou BC811.
De temps en temps, il faut réinitialiser un robot à ses paramètres d'usine, ce qui efface son nom. La prochaine fois que tu lui demandes son nom, ce robot te répondra avec un nouveau nom aléatoire.
Les noms doivent être aléatoires : ils ne doivent pas suivre une séquence prévisible. Utiliser des noms aléatoires comporte un risque de collisions. Ta solution doit garantir que chaque robot existant possède un nom unique.
Assure-toi que ta solution est suffisamment générale pour s'adapter facilement à des noms plus longs contenant davantage de lettres et de chiffres. Cela contribue généralement à une meilleure qualité de code, aussi.
Suggestion (ce n'est pas testé explicitement) :
Pour être sûr d'avoir toujours un nom unique, tu peux garder en mémoire les noms déjà attribués, ou prendre les noms un par un parmi tous ceux-ci dans un ordre aléatoire, par exemple à partir d'un Iterator ou d'une LazyList.
Inscris-toi sur Exercism pour apprendre et maîtriser Scala avec 96 exercices, et un vrai mentorat humain, le tout gratuitement.