コード例 #1
0
ファイル: interface_dames.py プロジェクト: legendofjonx/TP4
    def __init__(self):
        """Constructeur de la classe FenetrePartie. On initialise une partie en utilisant la classe Partie du TP3 et
        on dispose les «widgets» dans la fenêtre.
        """

        # Appel du constructeur de la classe de base (Tk)
        super().__init__()

        # La partie
        self.partie = Partie()

        # Création du canvas damier.
        self.canvas_damier = CanvasDamier(self, self.partie.damier, 60)
        self.canvas_damier.grid(sticky=NSEW)
        self.canvas_damier.bind('<Button-1>', self.selectionner)

        # Ajout d'une étiquette d'information.
        self.messages = Label(self)
        self.messages.grid()

        # Nom de la fenêtre («title» est une méthode de la classe de base «Tk»)
        self.title("Jeu de dames")

        # Truc pour le redimensionnement automatique des éléments de la fenêtre.
        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)

        self.messages['text'] = 'Bonjour'
コード例 #2
0
 async def creerPartie(self,sid,data):
     idJoueur = self.getJoueur(sid)
     j = self.Joueurs[idJoueur]
     partie = Partie("partie"+str(idJoueur), idJoueur, self.sio,self.fps,j)
     self.Parties.append(partie)
     await self.sio.emit('acces_partie', "success", room=sid)
     j.etape=2
     pass
     partie.ready = True
コード例 #3
0
ファイル: Interface_jeu.py プロジェクト: tournade/pokeras
 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")
コード例 #4
0
ファイル: Interface_jeu.py プロジェクト: tournade/pokeras
 def charger_partie(self):
     """
     Crée ou restaure une partie à partir de la fenêtre de départ, là où les joueurs doivent inscrire leurs paramètres.
     :return:une fenêtre permettant au joueur de restaurer la partie déjà commencée
     """
     self.master.partie = Partie(interface=self.master, joueurs=[])
     self.master.partie.restaure()
     self.master.partie.restore = True
     self.grab_release()
     self.master.focus_set()
     self.destroy()
     self.master.blancer.config(state="normal")
     self.master.tour.config(state="disabled")
     self.master.partie.jouer_partie()
     self.master.tour.config(state="normal")
     self.master.blancer.config(state="disable")
コード例 #5
0
ファイル: Interface_jeu.py プロジェクト: tournade/pokeras
    def nouvelle_parti(self):
        """Fonction qui démarre la partie et ferme la fenêtre.
        """
        if self.nom_joueur1 == "" or self.nom_joueur2.get() == "":
            w = Message(self,
                        text="SVP veuillez ajouter le nom des joueurs 1 et 2",
                        width=300)
            w.grid(row=6, column=1, columnspan=6)
        else:
            list_joueur = []
            est_joker = self.joker_d_as.get()
            for i in range(0, len(self.master.de_buttom)):
                self.master.de_buttom[i].config(state="normal")
            self.master.list_obj_joueur = []
            if (self.nom_joueur3.get() == ""):
                self.master.frame_player3.destroy()
                list_joueur.append(self.nom_joueur1.get())
                list_joueur.append(self.nom_joueur2.get())
            else:
                list_joueur.append(self.nom_joueur1.get())
                list_joueur.append(self.nom_joueur2.get())
                list_joueur.append(self.nom_joueur3.get())

            for i in list_joueur:
                joueur = Joueur(i, self.master, est_joker)
                self.master.list_obj_joueur.append(joueur)
            self.master.partie = Partie(self.master.list_obj_joueur,
                                        self.master)
            self.grab_release()
            self.master.focus_set()
            self.destroy()

            self.master.blancer.config(state="normal")
            self.master.tour.config(state="disabled")
            self.master.partie.jouer_partie()
            self.master.tour.config(state="normal")
            self.master.blancer.config(state="disabled")
            for i in self.master.de_buttom:
                i.config(state="disabled")
コード例 #6
0
from partie import Partie

game = Partie()
game.startGame()
コード例 #7
0
import socket
import select

from partie import Partie

hote = ""
port = 12800

connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connexion_principale.bind((hote, port))
connexion_principale.listen(5)
print("Le serveur écoute à présent sur le port {}".format(port))

# Choix de la carte
jeu = Partie()

jeu.choisir_carte()
jeu.lire_carte()
carte_vide = jeu.carte.obtenir_carte()

# Gestion de la connexion des clients
serveur_lance = True
clients_connectes = []
while serveur_lance:
    # On va vérifier que de nouveaux clients ne demandent pas à se connecter
    # Pour cela, on écoute la connexion_principale en lecture
    # On attend maximum 50ms
    connexions_demandees, wlist, xlist = select.select([connexion_principale],
                                                       [], [], 0.05)

    for connexion in connexions_demandees:
コード例 #8
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))
コード例 #9
0
ファイル: serveur.py プロジェクト: Goose92/LabyrintheMulti
from partie import Partie
from plateau import Plateau
from constants import CASE_MUR,CASE_PORTE_OUVERTE,CASE_PORTE_FERMEE,CASE_SORTIE,CASE_VIDE,NB_PTS_DE_VIE_INIT,HOTE,PORT

listeJoueurs=[]
serveur_lance = True
clients_connectes = []
clients_a_lire = []
nbCoups=1

# Si la version Python utilisee est inferieure a 3, on sort (necessaire pour certaines fonctions)
gestionVersionPython()

nbJoueurs=nbJoueursAttendu() # On regarde dans parametres le nombre de joueurs attendus, on sort si probleme
# Creation du plateau de jeu
lePlateau=Plateau([],Partie(""))
lePlateau.chargerPlateau()

# Boucle sur le menu principal

sortieMenu=False
while sortieMenu==False :
    print("Menu du jeu : ")
    print("     J - Lancer le jeu avec les " + str(nbJoueurs) + " joueur(s) attendu(s)")
    print("     V - Voir les cartes existantes")
    print("     E - Editer les cartes")
    print("     Q - Quitter le jeu")
    choixMenuPrincipal = input("Entrez votre choix : ")

    if choixMenuPrincipal=="J" or choixMenuPrincipal=="V" or choixMenuPrincipal=="E" or choixMenuPrincipal=="Q" or choixMenuPrincipal=="j" or choixMenuPrincipal=="v" or choixMenuPrincipal=="e" or choixMenuPrincipal=="q" :
        if choixMenuPrincipal=="Q" or choixMenuPrincipal=="q" :
コード例 #10
0
ファイル: main.py プロジェクト: HuguesDumont/ScrabbleSolveur
import os

def takeSecond(elem):
	return elem[1]

if __name__ == '__main__':
	t=Trie()
	f = open(os.path.dirname(os.path.realpath(__file__)) + "/francais.dic", "r")
	ff = open(os.path.dirname(os.path.realpath(__file__)) + "/FR_Sorted.dic","w")
	lines = f.readlines()


	for mot in lines:
		mot2 = ''.join(sorted(mot))
		t.add(mot2.strip()).append(mot.strip())
	partie = Partie(True)

	tour=0
	mylist=['']
	
	while mylist!=[] or partie.pioche != [] :
		partie.joueur.afficherChevalet()
		sys.stdout.flush()
		
		listA=[]
		listB=[]
		mylist=[]
		
		if tour!=0:
############COLONNE
			for i in range(15):
コード例 #11
0
if partie == False or nouvelle_partie == True:
    # On charge les cartes existantes
    cartes = carteHelper.chargementCartes()

    # On affiche les cartes existantes
    afficheLabyrinthes(cartes)

    # l'utilisateur choisi une carte et commence la partie
    choix_carte = carteHelper.choixCartes(cartes)

    # Rappel des commandes
    interactionHelper.rappelDesCommandes()

    print("\n \n Commençons la partie ! \n \n")
    labyrinthe = cartes[choix_carte - 1].labyrinthe
    partie = Partie(joueur_name, cartes[choix_carte - 1].nom,
                    labyrinthe.position_robot)

else:
    # On reprends la partie
    carte = carteHelper.chargementCarte(partie.carte_name)
    # On charge le labyrinthe ainsi que la position du joueur sauvegardé
    print("\n \n Reprenons la partie ! \n \n")
    labyrinthe = carte.labyrinthe
    labyrinthe.position_robot = partie.position_robot

labyrinthe.display()

# Jouer le jeux
play(partie)

print("\n\n A bientôt !! ")
コード例 #12
0
import pygricola.util as util
from partie import Partie
listeReponse = []  #/pour prédefinir les premières reponses tapes au clavier
#permet de jouer les premier coup automatiquemetn
nJoueurs = 3
p = Partie()
p.initialiser(nJoueurs, listeReponse)
p.demarragePartie()
p.demarrageTour()
while (True):
    while (True):
        encore = True
        while (encore):
            print(p.messagesPrincipaux[-1])
            p.affichageJoueur()
            sujet = p.joueurQuiJoue(
            )  #le sujet est l'objet à qui on demande possibilite
            #au debut c'est joueur, après ça peut être un carte,...

            casesJouablesStr = sujet.possibilites()
            p.phraseChoixPossibles = "QUE VOULEZ VOUS FAIRE?"
            choix = util.printPossibilities(p,
                                            p.phraseChoixPossibles,
                                            p.choixPossibles,
                                            annulable=False)

            (choixPossibles, sujet, encore,
             message) = p.jouerUid(p.choixPossibles[choix].uid)

            #             (choixPossibles,sujet,encore,message)=p.choixPossibles[choix].jouer()
コード例 #13
0
ファイル: serveur.py プロジェクト: nithramus/42
 def __init__(self, adresseServeur, traiteRequete):
     HTTPServer.__init__(self, adresseServeur, traiteRequete)
     self.partie = Partie()
     self.mustStop = False
コード例 #14
0
    def __init__(self):
        """Constructeur de la classe FenetrePartie. On initialise une partie en utilisant la classe Partie du TP3 et
        on dispose les «widgets» dans la fenêtre.
        """

        # Appel du constructeur de la classe de base (Tk)
        super().__init__()

        # La partie
        self.partie = Partie()

        # Création du canvas damier.
        self.canvas_damier = CanvasDamier(self, self.partie.damier, 60)
        self.canvas_damier.grid(sticky=NSEW)
        self.canvas_damier.bind('<Button-1>', self.selectionner)
        # self.canvas_damier.bind('<B1-Button_release>', self.enregistrer_position_cible)
        self.canvas_damier.couleur_foncee = '#426D8F'  # Bleu
        self.canvas_damier.couleur_pale = 'light cyan'

        # Ajout d'une étiquette d'information.
        self.messages1 = Label(self)  # Affichage des messages
        self.messages1.grid()
        self.messages1['foreground'] = 'blue'
        self.messages1['background'] = 'mint cream'
        self.messages1['text'] = 'Quelle pièce désirez-vous déplacer?'
        self.colonne_damier_reel = "abcdefgh"

        # Ajout des boutons : A permettant d'obtenir l'aide et B de quitter et d'enregistrer.
        self.bouton1_A = Button(self,
                                text='Aide',
                                bg='SlateGray1',
                                command=self.aide)
        self.bouton1_B = Button(self,
                                text='Quitter',
                                bg='SlateGray1',
                                command=self.quitter_damier)
        self.bouton1_C = Button(self,
                                text='Partie sauvegardée',
                                bg='SlateGray1',
                                command=self.partie_sauvegardee)
        self.bouton1_D = Button(self,
                                text="Couleurs du damier",
                                bg='SlateGray1',
                                command=self.couleur_damier)
        self.bouton1_A['foreground'] = 'midnight blue'
        self.bouton1_B['foreground'] = 'midnight blue'
        self.bouton1_C['foreground'] = 'midnight blue'
        self.bouton1_D['foreground'] = 'midnight blue'

        self.bouton1_A.grid(row=2, column=0, pady=5, sticky=W)
        self.bouton1_B.grid(row=1, column=1, padx=25, pady=5)
        self.bouton1_C.grid(row=2, column=1, pady=5, sticky=E)
        self.bouton1_D.grid(row=2, column=0, pady=5, sticky=S)

        # Liste des mouvements
        self.messages1_B = Label(self)
        self.messages1_B.grid(row=0, column=1, sticky=N)
        self.messages1_B['foreground'] = 'black'
        self.messages1_B['background'] = 'white'
        self.messages1_B['text'] = "Blanc       Noir\n───────\n"
        self.numero_deplacement = 1

        # Initialisation des attributs
        self.doit_prendre = False
        self.position_source_selectionnee = None
        self.position_source_forcee = None

        # Nom de la fenêtre
        self.titre_joueur = self.partie.couleur_joueur_courant + " joue!"
        self.title("Jeu de dames. Le joueur " + self.titre_joueur)
        self['background'] = 'mint cream'

        # Truc pour le redimensionnement automatique des éléments de la fenêtre.
        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)
コード例 #15
0
    def __init__(self):
        """
        Constructeur de la classe FenetrePartie. On initialise une partie en utilisant la classe Partie du TP3 et
        on dispose les «widgets» dans la fenêtre.
        """
        # Appel du constructeur de la classe de base (Tk):
        super().__init__()

        # La partie:
        self.partie = Partie()

        # Création du canvas damier:
        self.canvas_damier = CanvasDamier(self, self.partie.damier, 60)
        self.canvas_damier.grid(sticky=NSEW)
        self.canvas_damier.bind('<Button-1>', self.selectionner)

        # Ajout d'une étiquette d'information:
        self.messages = Label(self)
        self.messages.grid()

        # Ajout d'une étiquette de couleur du tour du joueur:
        self.couleur_joueur = Label(self)
        self.couleur_joueur.grid()
        self.couleur_joueur['text'] = 'Tour du joueur {}'.format('blanc')

        # Nom de la fenêtre («title» est une méthode de la classe de base «Tk»):
        self.title("Jeu de dames")

        # Truc pour le redimensionnement automatique des éléments de la fenêtre:
        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)

        # Ajout de variables se rappelant si une pièce est sélectionnée:
        self.bool_piece_selectionnee = False
        self.piece_selectionnee = None
        self.position_selectionnee = None

        # Ajout d'uhe variable gérant le déplacement:
        self.position_cible_graphique = None

        # Ajout d'une chaîne de caractère enregistrant les déplacements effectués:
        self.texte_deplacements = 'Liste des déplacements, du plus récent au plus ancien: \n'

        # Ajout du cadre des boutons:
        self.cadre_bouton = Frame(self)
        self.cadre_bouton.grid(padx=10, pady=10)

        # Création du bouton 'Nouvelle partie':
        self.bouton_nouvelle_partie = Button(self.cadre_bouton,
                                             text="Nouvelle partie",
                                             command=self.nouvelle_partie,
                                             padx=10,
                                             pady=10)
        self.bouton_nouvelle_partie.grid(padx=10, pady=10, column=0, row=0)

        # Création du bouton 'quitter':
        self.bouton_Quitter = Button(self.cadre_bouton,
                                     text="Quitter",
                                     command=self.destroy,
                                     padx=10,
                                     pady=10)
        self.bouton_Quitter.grid(padx=10, pady=10, column=1, row=0)

        # Création du bourron 'Règlements':
        self.bouton_reglements = Button(self.cadre_bouton,
                                        text="Règlements",
                                        command=ouvrir_reglements,
                                        padx=10,
                                        pady=10)
        self.bouton_reglements.grid(padx=10, pady=10, column=2, row=0)

        # Création du bouton 'Déplacement':
        self.bouton_deplacements = Button(self.cadre_bouton,
                                          text='Déplacements',
                                          command=self.afficher_deplacements,
                                          padx=10,
                                          pady=10)
        self.bouton_deplacements.grid(padx=10, pady=10, column=3, row=0)

        # Création du bouton 'Sauvegarder':
        self.bouton_sauvegarder = Button(self.cadre_bouton,
                                         text='Sauvegarder',
                                         command=self.sauvegarder_partie,
                                         padx=10,
                                         pady=10)
        self.bouton_sauvegarder.grid(padx=10, pady=10, column=0, row=1)

        # Création du bouton 'Charger':
        self.bouton_charger = Button(self.cadre_bouton,
                                     text='Charger',
                                     command=self.charger_partie,
                                     padx=10,
                                     pady=10)
        self.bouton_charger.grid(padx=10, pady=10, column=1, row=1)

        # Création du bouton 'Tricher':
        self.bouton_triche = Button(self.cadre_bouton,
                                    text="Tricher",
                                    command=self.ouvrir_triches,
                                    padx=10,
                                    pady=10)
        self.bouton_triche.grid(padx=10, pady=10, column=2, row=1)

        # Initialisation de la variable 'fenetre_alarme':
        self.fenetre_alarme = None