Un joueur apres l'autre ?

Signaler
Messages postés
6
Date d'inscription
vendredi 4 octobre 2019
Statut
Membre
Dernière intervention
11 octobre 2019
-
 khrug -
Bonjour, pour l'ecole je dois faire un "code" de type qualitatif sauf qu'il y a un truc que je n'arrive pas a faire. Nous devons faire jouer deux vrais joueurs tour par tour.
Je ne sais vraiment pas comment faire, en + je dois additionner les 2 scores, ce qui me semble complique' (je suis sur un claver qwerty donc pas d'accent, sorry)

2 réponses

Messages postés
12341
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2020
694
bonjour, peux-tu déjà montrer ce que tu as réalisé? quel est ton soucis? en quoi est-ce compliqué de faire la somme de deux scores?
Bonsoir.

Oui, il faudrait voir comment se présente ton code, mais au vu de ton souci, je pense que tu as plein de variables éparses dans ton code, comme joueur1, joueur2, score1, score2, etc.

C'est avec ce genre de problème qu'il faut penser à utiliser une structure de données, list, tuple, dict.

Pour gérer un système de tour, on se sert de l'opérateur modulo (le %) le nombre de joueurs et d'un itérable contenant par exemple des dict des attributs joueurs.

>>> import random
>>> joueurs = ({'nom':'Bart', 'score':0}, {'nom':'Lisa', 'score':0})
>>> tour = 0
>>> nombre_joueurs = len(joueurs)
>>> while True:
...     tour += 1
...     indice_joueur = tour % nombre_joueurs
...     joueurs[indice_joueur]['score'] += random.randint(1, 10)
...     if joueurs[indice_joueur]['score'] > 100:
...         print(joueurs[indice_joueur]['nom'], 'gagne')
...         break
... 
Bart gagne
>>> tour
32
>>> joueurs
({'nom': 'Bart', 'score': 102}, {'nom': 'Lisa', 'score': 96})