break # Les deux lignes ci-dessous en commentaire : fonctionne si on ne veut pas faire du pas à pas # if jeu.deplacer(saisieJoueur) == False: # print("Déplacement impossible ... Vérifiez s'il n'y a pas un mur entre votre position et la case finale") #Pour le déplacement & affichage pas à pas : if jeu.estPossible(saisieJoueur) == False : print("Déplacement impossible ... Vérifiez s'il n'y a pas un mur entre votre position et la case finale") else : #On déplace le robot pas à pas (mais on comptabilise qu'1 seul coup) nbCoups += 1 pas=calculerPas(saisieJoueur) while pas > 0: jeu.deplacerUnPas(saisieJoueur[0]) jeu.afficher() if jeu.trouverSortie(): print("Bravo, vous avez réussi à sortir !!! (nb de coups : {})".format(nbCoups)) finJeu=True break pas -= 1 #maintenant on enregistre données et on sauvegarde la partie en cours save["labyrinthe"]=jeu save["nbCoups"]=nbCoups sauverPartie(save,saveFic) #A la sortie de la boucle, on enregistre les données if jeu.trouverSortie() == False: print("Vous n'avez pas encore trouvé la sortie (nb de coups : {})".format(nbCoups)) print("Votre partie est sauvegardée, vous pourrez continuer plus tard ...") sauverPartie(save,saveFic)
reponse) == False: #donc mouvement incorrect envoyerMsg(cle, joueur, "Mouvement invalide, vous passez un tour !!!", joueurSupp) msg = "Le mouvement du joueur " + str( cle) + " est invalide (pas de modification du labyrinthe)" print(msg) envoyerMsgAll( listeJoueurs, msg, joueurSupp, cle ) #Ce message est envoyé à tous sauf ou joueur qui a joué else: #Donc OK ==> on deplace puis on renvoie le labyrinthe modifié à tous les joueurs res = jeu.deplacer(cle, reponse) msg = "Le joueur " + str(cle) + " a joué : " + reponse envoyerMsgAll(listeJoueurs, msg, joueurSupp, cle) #On vérifie si le joueur a gagné : if jeu.trouverSortie(): serveur_lance = False envoyerMsg(cle, joueur, "Bravo !!! vous avez gagné !!! ", joueurSupp) msg = "Le joueur " + str( cle) + " a trouvé la sortie, le jeu est terminé" envoyerMsgAll(listeJoueurs, msg, joueurSupp, cle) envoyerMsgAll( listeJoueurs, msgFin, joueurSupp ) #Ce message est envoyé pour que les clients ferment la connexion break #On renvoie le labyrinthe à tout le monde envoyerLabyrinthe(listeJoueurs, jeu) #On l'affiche aussi sur la console du serveur pour vérifier jeu.afficher() else: