Jeux de question/réponses (API Stream)
Bonjour,
Je suis étudiant et actuellement je travail sur un petit projet de Java. C'est un jeu de quizz avec question/ réponse. Il y a une classe Joueur qui possède notamment comme attribut un score et un timer. A chaque question un timer se déclenche et s'arrête une fois la réponse fournit.
L'idée étant qu'une fois la manche terminée, si il y a eu bonne réponse, le score du joueur est incrémenté de 2 et que parmi 4 joueurs, seuls 3 sont qualifiés au tour suivant. Mon problème c'est que je dois départager ces joueurs qui stockés dans une ArrayList. Je dois les départager selon plusieurs critères : En cas d'égalité des scores, alors les timer les départages (les plus rapides sont sélectionnés) ; si il y a égalité des scores et des timers, je dois proposer de nouveau 3 questions pour les départager et si il y a encore égalité après ça, alors sélection aléatoire.
Je n'arrive pas à représenter ces cas de figures, mais je pense que je suis sur la bonne voie en me disant qu'il faut que j'utilise l'API stream pour résoudre mon problème.
J'ai déjà réussis à classer les joueurs selon le score, puis le timer :
Code:
1 2 3 4
|
joueurs //Ma liste de joueurs
.stream()
.sorted(Comparator.comparingInt(Joueur::getScore).reversed().thenComparing(Joueur::getTimer)); //On trie les joueurs selon le score puis le timer |
C'est un début mais je ne sais pas comment comparer ces joueurs selon les cas de figures que je vous ai présenté ci-dessus.
Mon but au final est que la liste joueurs qui comptait 4 joueurs à la base deviennent une liste de 3 joueurs, les qualifiés pour le tour suivant.
J'espère que j'ai été claire, n'hésitez pas a me demander de clarifier un point si nécessaire.
Merci d'avance