Esempio n. 1
0
 def test_ChoixValide4(self):
     commande = "4"
     retour = choixValide(commande)
     self.assertEqual(retour, False)
Esempio n. 2
0
 def test_ChoixValideO1(self):
     commande = "O1"
     retour = choixValide(commande)
     self.assertEqual(retour, True)
Esempio n. 3
0
                if msg_a_envoyer=="?" :
                    print("Votre objectif est de rejoindre une sortie (case U) avant les autres")
                    print("Vous pouvez vous déplacer au nord (N), au sud (S), à l'est (E) et à l'ouest (O)")
                    print("Pour vous déplacer au nord sur une seule case : N ou N1 (pour les autres directions : S, E et O")
                    print("Pour vous déplacer au nord sur 3 cases : N3 (pour les autres directions : S3, E3 et O3)")
                    print("Pour murer une porte sur la case au sud (juste à proximité) : mS (pour les autres directions : mE,mN et mO)")
                    print("Pour percer une porte sur la case au sud (juste à proximité) : pS (pour les autres directions : pE,pN et pO)")
                    print("Si vous souhaitez abandonner : A")
                    print("A chaque choc contre un obstacle (mur, joueur, porte fermé, vous perdez un point de vie")
                    print("Vous perdez la partie si vous n'avez plus de point de vie ou si un joueur rejoint la sortie avant vous")
                    print("\n")
                else :
                    if msg_a_envoyer=="fin" :
                        ordreOk=True
                    else :
                        if choixValide(msg_a_envoyer) :
                            ordreOk=True
                            if len(msg_a_envoyer)>1 and msg_a_envoyer[0]!="m" and msg_a_envoyer[0]!="p" :
                                # Coups multiple
                                CoupsMutiples[0]=sensJoue(msg_a_envoyer)
                                CoupsMutiples[1]=nbCoupsJoue(msg_a_envoyer)-1
                                msg_a_envoyer=sensJoue(msg_a_envoyer)
                        else :
                            print("Coup incorrect, consultez l'aide pour plus de précisions (? pour l'aide)")
            else :
                print("Il y a des coups multiples en stock " + str(CoupsMutiples[0]) + str(CoupsMutiples[1]) + " => déplacement automatique")
                msg_a_envoyer=CoupsMutiples[0]
                CoupsMutiples[1]=CoupsMutiples[1]-1
                ordreOk=True

        msg_a_envoyer = msg_a_envoyer.encode()
Esempio n. 4
0
    clients_a_lire = []
    try:
        clients_a_lire, wlist, xlist = select.select(clients_connectes,[], [], 0.05)
    except select.error:
        pass
    else:

        # On parcourt la liste des clients a lire
        for client in clients_a_lire:
            msg_recu = client.recv(1024)
            msg_recu = msg_recu.decode()
            clientID=client.getpeername()[1]

            if msg_recu != "" :
                # On peut prendre en compte le coup
                retour=choixValide(msg_recu)
                if retour == 1 : # Déplacement classique
                    nbCoups=nbCoupsJoue(msg_recu)
                    sens=sensJoue(msg_recu)
                    for i in range(0,int(nbCoups)) :
                        lePlateau.partie.jouerUnCoup(clientID,sens)
                    lePlateau.partie.messageNbVies(joueurActuel,clients_connectes)
                    print(str(lePlateau.partie.nomJoueur(joueurActuel)) + " a joue " + str(msg_recu) + " (il lui reste " + str(lePlateau.partie.nbPtsJoueur(joueurActuel)) + " points)")

                    lePlateau.partie.messageAuxPassifs(joueurActuel,clients_connectes,"[MSG]" + str(lePlateau.partie.nomJoueur(joueurActuel)) + " a joue")
                    #lePlateau.partie.toutLeMondePassif(clients_connectes)

                if retour == 2 : # Fermeture d'une porte
                    lePlateau.partie.creerMur(clientID,msg_recu[1])
                    nbCoups=0
                    print(str(lePlateau.partie.nomJoueur(joueurActuel)) + " a joue " + str(msg_recu) + " (il lui reste " + str(lePlateau.partie.nbPtsJoueur(joueurActuel)) + " points)")
Esempio n. 5
0
            if choixCarte != 0:
                print("Le jeu peut commencer")

                lePlateau.partie.initialiserPositionRobot()
                lePlateau.partie.initialiserTailleMaxGrille()
                lePlateau.partie.afficherPartie()

                finPartie = False
                while finPartie == False:
                    choix = input("Quelle direction ou Q pour quitter")
                    if choix == "Q":
                        print("Fin de la partie (sauvegarde effectuée)")
                        lePlateau.sauvegarderPartie()
                        finPartie = True
                    else:
                        retour = choixValide(choix)
                        if retour == True:
                            nbCoups = nbCoupsJoue(choix)
                            sens = sensJoue(choix)
                            # On repete autant de "jouerUnCoup" qu'il y a de coups à jouer (en fonction du choix)
                            for i in range(0, int(nbCoups)):
                                lePlateau.jouerUnCoup(sens)
                            lePlateau.partie.nbCoups = lePlateau.partie.nbCoups + 1
                            lePlateau.partie.afficherPartie()
                            print("Vous avez utilisé " +
                                  str(lePlateau.partie.nbCoups) +
                                  " coup(s) et vous avez " +
                                  str(lePlateau.partie.pointDeVie) +
                                  " points de vie")
                            finPartie = lePlateau.partie.gagne
                            lePlateau.sauvegarderPartie()