Ci-dessous, les différences entre deux révisions de la page.
python:tarot [2020/01/05 16:32] – créée crust | python:tarot [2020/01/08 13:50] (Version actuelle) – crust | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
Pour bénéficier de la dernière version à jour, merci de vérifier sur le git : [[https:// | Pour bénéficier de la dernière version à jour, merci de vérifier sur le git : [[https:// | ||
<code python> | <code python> | ||
+ | |||
+ | # | ||
+ | # -*- coding: utf-8 -*- | ||
+ | |||
+ | """ | ||
+ | |||
+ | __author__ = " | ||
+ | __copyright__ = " | ||
+ | __credits__ = " | ||
+ | __license__ = " | ||
+ | __version__ = " | ||
+ | __maintainer__ = " | ||
+ | __email__ = " | ||
+ | __status__ = " | ||
+ | |||
+ | |||
+ | |||
+ | liste_des_primes = [] | ||
+ | |||
# Gestion du nombre de joueurs | # Gestion du nombre de joueurs | ||
Ligne 17: | Ligne 36: | ||
nb_joueurs = int(input(" | nb_joueurs = int(input(" | ||
if 2 < nb_joueurs < 6: | if 2 < nb_joueurs < 6: | ||
- | print(" | + | |
break | break | ||
except ValueError: | except ValueError: | ||
Ligne 72: | Ligne 91: | ||
# ===================================================================================================================== | # ===================================================================================================================== | ||
- | def verificationContrat(nombre_de_points, | + | def verificationContrat(nombre_de_points, |
# Contrat rempli ou non ? Calcul du bonus / malus | # Contrat rempli ou non ? Calcul du bonus / malus | ||
- | if nombre_de_points >= nombre_d_oudlers: | + | if nombre_de_points >= pari_oudlers: |
print(" | print(" | ||
else: | else: | ||
print(" | print(" | ||
- | gain = nombre_de_points - nombre_d_oudlers | + | gain = nombre_de_points - pari_oudlers |
print(" | print(" | ||
Ligne 87: | Ligne 106: | ||
# =================================================== | # =================================================== | ||
- | def updateScore(gain, | + | def updateScore(gain, |
# Mise à jour du score | # Mise à jour du score | ||
# Ajout des scores | # Ajout des scores | ||
+ | print(dico_primes) | ||
- | for nom in dictionnaire_joueurs: | + | |
- | score = dictionnaire_joueurs[nom][-1] | + | if (gain > 0) : |
+ | | ||
+ | score = dico_joueurs[nom][-1] | ||
- | | + | |
- | score = score + (gain + dico_contrat[contrat_tour]) * (nb_joueurs - 1) | + | score = score + (gain + dico_contrat[contrat_tour]) * (nb_joueurs - 1) |
- | else: | + | else: |
- | score = score - (gain + dico_contrat[contrat_tour]) | + | score = score - (gain + dico_contrat[contrat_tour]) |
- | | + | |
- | print(dictionnaire_joueurs) | + | |
+ | else: | ||
+ | for nom in dico_joueurs: | ||
+ | score = dico_joueurs[nom][-1] | ||
+ | |||
+ | if nom == preneur: | ||
+ | score = score + (gain - dico_contrat[contrat_tour]) * (nb_joueurs - 1) | ||
+ | else: | ||
+ | score = score - (gain - dico_contrat[contrat_tour]) | ||
+ | dico_joueurs[nom].append(score) | ||
+ | |||
+ | # GESTION DES PRIMES | ||
+ | print(" | ||
+ | print(" | ||
+ | |||
+ | i = 0 | ||
+ | for nom in liste_beneficiaire_prime: | ||
+ | print(nom) | ||
+ | if nom[0] == liste_beneficiaire_prime[i][0]: | ||
+ | bonus = dico_primes[liste_beneficiaire_prime[i][1]] | ||
+ | print(nom, bonus) | ||
+ | else: | ||
+ | bonus = dico_primes[liste_beneficiaire_prime[i][1]] * -1 | ||
+ | print(nom, bonus) | ||
+ | i += 1 | ||
+ | | ||
# Initialisation des paramètres du tour | # Initialisation des paramètres du tour | ||
- | def parametrageTour(dictionnaire_joueurs, | + | def parametrageTour(): |
- | dictionnaire_contrats, | + | |
- | dictionnaire_oudlers, | + | |
- | dictionnaire_primes, | + | |
- | nombre_de_points_realises | + | |
- | | + | |
# Gestion du preneur | # Gestion du preneur | ||
preneur = "" | preneur = "" | ||
Ligne 174: | Ligne 217: | ||
fin_des_primes = ' | fin_des_primes = ' | ||
beneficiaire = '' | beneficiaire = '' | ||
- | liste_des_primes = [] | + | |
while fin_des_primes.lower() not in [' | while fin_des_primes.lower() not in [' | ||
Ligne 198: | Ligne 241: | ||
prime = input(" | prime = input(" | ||
- | if prime in dictionnaire_primes: | + | if prime in dico_primes: |
print(" | print(" | ||
break | break | ||
Ligne 204: | Ligne 247: | ||
print(" | print(" | ||
print(' | print(' | ||
- | for nom, valeur in dictionnaire_primes.items(): | + | for nom, valeur in dico_primes.items(): |
print(" | print(" | ||
except ValueError: | except ValueError: | ||
print(" | print(" | ||
- | liste_des_primes.append({beneficiaire, | + | liste_des_primes.append((beneficiaire, |
fin_des_primes = input(" | fin_des_primes = input(" | ||
Ligne 224: | Ligne 267: | ||
return nb_points, nb_oudlers, contrat_tour, | return nb_points, nb_oudlers, contrat_tour, | ||
+ | |||
Ligne 232: | Ligne 276: | ||
fin_du_jeu = '' | fin_du_jeu = '' | ||
while fin_du_jeu.lower() != ' | while fin_du_jeu.lower() != ' | ||
- | nb_points, nb_oudlers, contrat_tour, | + | nb_points, nb_oudlers, contrat_tour, |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
gain = verificationContrat(nb_points, | gain = verificationContrat(nb_points, | ||
- | updateScore(gain, dico_joueurs, preneur, | + | updateScore(gain, |
- | fin_du_jeu = input('Cesser la partie ? Saisir | + | fin_du_jeu = input("Cesser la partie ? Saisir |
else: | else: |