TP: Twisted

Vous êtes en charge de la réalisation d’un algorithme de statistiques d’un tournoi de dès sponsorisé par un producteur de yaourts qui souhaite lancer un nouveau yaourt Bio au fruits : “BioYourt”.

Le tournoi

Le tournoi réunit 20 joueurs et se déroule en plusieurs tours de jeu.

Chaque joueur est identifié par un numéro (de 1 à 20) et démarre avec 0 point.

A chaque tour de jeu, Les joueurs lancent 3 dès chacun leur tour.

A chaque lancer, le joueur gagne des points selon son score aux dès (somme de la valeur des 3 dès):

A chaque fois qu’un joueur réalise un double (valeurs d’au moins 2 dés identiques), une couleur est sélectionnée au hasard parmi une liste pré-établie.

Le tournoi se termine lorsque chaque joueur a lancé les dès 20 fois.

Les statistiques

A la fin du tournoi,

Consignes

  1. Développez l’algorithme répondant à la probématique ci-dessus.
  2. Codez la solution.

Dans le langage indiqué par votre formateur, vous devez créer une classe dont le constructeur accepte 2 tableaux indexés:

Cette classe contient 3 méthodes publiques:

Données

Entrée

tournament : Un tableau indexé contenant les différents lancers de dès de jeu. Chaque élément du tableau contient un tableau contenant 20 entrées (1 par joueur). Ces entrées contiennent une chaine de caractère contenant 3 entiers séparés par un espace. Format: “id_joueur score_de1 score_de2 score de3

colors : Exemple (rappel: partie à 3 joueurs) :

[ ‘1 1 4’, ‘2 4 3’, ‘3 5 2’, ‘1 3 3’, ‘2 5 6’, ‘3 1 5’,… ]

Sortie

Une chaine de caractère représentant les scores des 3 joueurs. Les 3 valeurs sont séparées par un slash ( / ). Le score du joueur 1 aparait en premier suivi du joueur 2 puis du joueur 3.

Exemple :

Pour le tableau en entrée :

[ ‘1 1 4’, ‘2 4 2’, ‘3 5 2’, ‘1 3 1’, ‘2 5 6’, ‘3 3 3’ ]

La réponse est :

2/7/0

Car :

Attention

On nous signale que des pirates (non identifiés) ont peut-être compromis les données de certaines parties.

Assurez vous de bien vérifier les valeurs des données en entrée…

Si une partie contient une donnée invalide ou incohérente, la partie est déclarée nulle et l’algorithme renvoie la valeur “to investigate”.