Пример #1
0
from joueur import Joueur

if __name__ == "__main__":
    print("Bienvenue au Poker d'As!")
    max_joueurs = 3
    min_joueurs = 1

    nb_joueurs = 0
    while nb_joueurs < min_joueurs or nb_joueurs > max_joueurs:
        nb_joueurs = int(input("Combien êtes-vous de joueurs? "))

    joueurs = []
    for i in range(0, nb_joueurs):
        nom = input("Entrez le nom du joueur {:d} ".format(i + 1))
        joueurs.append(Joueur(nom))

    continuer = True
    while continuer:
        partie = Partie(joueurs)
        partie.jouer_partie()
        refaire_partie = ""
        while not ("oui" in refaire_partie or "non" in refaire_partie):
            refaire_partie = input(
                "Voulez-vous refaire une partie? (oui/non) ").lower()
        continuer = "oui" in refaire_partie

    for joueur in joueurs:
        print("{} a gagné {:d} parties, soit {:.0f}%.".format(joueur,
                                                             joueur.nb_victoires,
                                                             joueur.nb_victoires / joueur.nb_parties_jouees * 100))
Пример #2
0
class mon_interface(Tk):
    def __init__(self):
        super().__init__()
        self.wait = BooleanVar()
        self.wait.set(False)
        self.relance_de = []
        self.title("Poker d'As")
        self.frame_player1 = LabelFrame(self,
                                        text="Player 1",
                                        padx=20,
                                        pady=20)
        self.frame_player1.grid(row=1, column=1)
        self.player1 = Label(
            self.frame_player1,
            text=
            "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:",
            justify="left")
        self.player1.grid()
        self.frame_player2 = LabelFrame(self,
                                        text="Player 2",
                                        padx=20,
                                        pady=20)
        self.frame_player2.grid(row=2, column=1)
        self.player2 = Label(
            self.frame_player2,
            text=
            "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:",
            justify="left")
        self.player2.grid()
        self.frame_player3 = LabelFrame(self,
                                        text="Player 3",
                                        padx=20,
                                        pady=20)
        self.frame_player3.grid(row=3, column=1)
        self.player3 = Label(
            self.frame_player3,
            text=
            "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:",
            justify="left")
        self.player3.grid()

        self.joueur_interface = [(self.frame_player1, self.player1),
                                 (self.frame_player2, self.player2),
                                 (self.frame_player3, self.player3)]

        self.tour_a = Label(self, text="C'est au tour de ", justify="center")
        self.tour_a.grid(row=1, column=2, columnspan=5)
        self.lance_a_faire = Label(self, text="Tour: 0/0", justify="center")
        self.lance_a_faire.grid(row=1, column=7, columnspan=4)
        frame1 = Frame(self, borderwidth=2, relief=GROOVE).grid(row=2,
                                                                column=2)
        self.de_1 = Button(frame1,
                           text="0",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(0),
                           padx=5,
                           pady=5)
        self.de_1.grid(row=2, column=3)
        self.de_2 = Button(frame1,
                           text="1",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(1),
                           padx=5,
                           pady=5)
        self.de_2.grid(row=2, column=4)
        self.de_3 = Button(frame1,
                           text="2",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(2),
                           padx=5,
                           pady=5)
        self.de_3.grid(row=2, column=5)
        self.de_4 = Button(frame1,
                           text="3",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(3),
                           padx=5,
                           pady=5)
        self.de_4.grid(row=2, column=6)
        self.de_5 = Button(frame1,
                           text="4",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(4),
                           padx=5,
                           pady=5)
        self.de_5.grid(row=2, column=7)
        self.de_buttom = [
            self.de_1, self.de_2, self.de_3, self.de_4, self.de_5
        ]
        Button(self, text="Nouvelle Partie",
               command=self.nouvelle_partie).grid(row=4,
                                                  column=6,
                                                  columnspan=4)
        self.blancer = Button(self,
                              command=self.relance,
                              text="Garder/Lancer dés")
        self.blancer.grid(row=3, column=2, columnspan=3)
        self.tour = Button(self, text="Tour suivant", command=self.next_game)
        self.tour.grid(row=4, column=2, columnspan=3)

        self.sauvegarde = Button(self,
                                 text="Sauvegarde",
                                 command=self.fonction_sauvegarde)
        self.sauvegarde.grid(row=3, column=6, columnspan=4)

        self.menu = menu(self)

    def next_game(self):
        """
        Permet de continuer une partie qui est terminée sans la redémarrer
         :return: aucun paramètre
         """
        self.partie = Partie(self.list_obj_joueur, self)
        for i in self.de_buttom:
            i.config(state="normal")
        self.blancer.config(state="normal")
        self.tour.config(state="disabled")
        self.partie.jouer_partie()
        self.tour.config(state="normal")
        self.blancer.config(state="disabled")
        for i in self.de_buttom:
            i.config(state="disabled")

    def fonction_sauvegarde(self):
        """
        Permet au bouton Sauvegarder d'accéder à la méthode de sauvegarde
        :return: aucun paramètre
        """
        self.partie.sauvegarde()

    def relance(self):
        """
        Permet au joueur de relancer les dés choisis par celui-ci, afin de changer son type de combinaison
        :return: aucun paramètre
        """
        self.wait.set(False)

        self.update()

    def nouvelle_partie(self):
        """
        Permet de changer les paramètres de la nouvelle partie et de la commencer ou terminer.
         :return: aucun paramètre
        """
        self.menu = menu(self)

    def buttom_action(self, index):
        """
         Permet d'afficher et de sélectionner les dés à partir des dés sélectionnés
         :param index: la position du bouton activé
         :return: aucun paramètre
         """
        if index in self.relance_de:
            #print(index)
            #print(self.partie.joueur_actif.combinaison.des[index])
            self.de_buttom[index].config(
                text=self.partie.joueur_actif.combinaison.des[index])
            self.relance_de.remove(index)
        else:
            self.de_buttom[index].config(text="")
            self.relance_de.append(index)