Beispiel #1
0
        /// <summary>
        /// Melange et envoie un panel de musique à chaque joueur, avec
        /// plus ou moins de chansons par joueur.
        /// </summary>
        public void envoiMusique()
        {
            //On stocke la chanson qui était à trouver pour pouvoir
            chansonPrecedente = gm.getChanson();

            //On remélange les chansons
            gm.melange();
            List <Joueur> listJoueursPartis = new List <Joueur>();

            foreach (Joueur j in listJoueurs)
            {
                //Et on les envoie à tous les joueurs
                try
                {
                    List <String> chansons = gm.listeChansons(j.getNbChoix());
                    envoi(Requete.infoChanson(gm.getUrlChanson()), j.getStream());
                    envoi(Requete.musique(chansons), j.getStream());
                }
                catch
                {
                    //Si le joueur n'est plus en lien avec le serveur, on l'enléve de la liste
                    listJoueursPartis.Add(j);
                }
            }

            foreach (Joueur j in listJoueursPartis)
            {
                listJoueurs.Remove(j);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Ajoute un joueur à la liste et commence une partie si c'est le premier joueur
 /// </summary>
 /// <param name="j">joueur à ajouter</param>
 public void addJoueur(Joueur j)
 {
     listJoueurs.Add(j);
     //Si le serveur était vide et que un premier utilisateur se connecte
     if (listJoueurs.Count == 1)
     {
         //Si c'est le premier joueur, la manche doit être remise à 0
         cptManche   = 0;
         partieFinie = false;
         //on peux lancer la diffusion des chansons
         Thread th = new Thread(runGame);
         th.Start();
     }
     else // Si il y'a des joueurs, on lui envoi les chansons en cours
     {
         if (partieFinie)
         {
             envoiATous(Requete.infoPartieFinie(listJoueurs));
         }
         else
         {
             envoi(Requete.musique(gm.listeChansons(j.getNbChoix())),
                   j.getStream());
             envoi(Requete.infoChanson(gm.getUrlChanson()), j.getStream());
         }
     }
     //Dans tous les cas on initialise les scores
     envoiScores();
 }