/// <summary> /// Constructeur, initialise la classe Partie /// </summary> /// <param name="style">le style qui correspond à cette classe</param> public Partie(String style) { gm = new GestionMusique(); this.style = style; gm.setStyle(style); gm.chercheChansons(); gm.setNbChoixMax(6); }
/// <summary> /// Crée un thread d'écoute de client /// Récupére les identifiants du serveur /// Crée une partie par style de musique /// </summary> public void serverStart() { this.listen = new TcpListener(IPAddress.Any, 25000); Console.WriteLine("Serveur connecté"); this.listenThread = new Thread(new ThreadStart(ListenForClients)); this.listenThread.Start(); //On crée une partie par style de musique this.gm = new GestionMusique(); List <String> styles = gm.choixStyle(); foreach (String style in styles) { listePartie.Add(new Partie(style)); } }
/// <summary> /// Toutes les requêtes reçues par le serveur sont traitées ici /// On les parse en fonction de la norme choisie /// </summary> /// <param name="message">Requête reçu</param> private void traite(String message) { Console.WriteLine("Recoit : " + message); String[] tabMessage = message.Split('?'); if (tabMessage[0].Equals("")) { send(Requete.erreur("Message mal forme"), joueur.getStream()); } else { if (tabMessage[0].Equals("CHANSON")) { traiteChanson(tabMessage); } else if (tabMessage[0].Equals("INFO")) { traiteInfo(tabMessage); } else if (tabMessage[0].Equals("CHOIXSTYLE")) { GestionMusique gm = serv.getGM(); List <String> listeStyle = gm.choixStyle(); if (listeStyle == null) { send(Requete.erreur("Pas de style de musique defini"), joueur.getStream()); } else { send(Requete.choixStyle(listeStyle), joueur.getStream()); } } else if (tabMessage[0].Equals("DECONNEXION")) { Console.WriteLine("Le joueur " + joueur.getName() + " est retiré du serveur"); if (partie != null) //Si le joueur n'a pas encore été ajouté à une partie { partie.removeJoueur(joueur); } } else if (tabMessage[0].Equals("BESTSCORE")) { //Si on a mis un style en paramètre send(Requete.bestScores(serv), joueur.getStream()); } } }