// Donne à chacun un positionnement public void Starting() { // Celui qui a Deux de Trefle commence la partie Carte carte = new Carte(Couleur.Trefle, Valeur.Deux); // le joueur qui commence Joueur joueur = null; foreach (Joueur player in ListeDesJoueurs) { if (player.Paquet.Contains(carte)) { // 1 = Celui qui commence, apres c'est dans le sens horaire player.Positionnement = 1; joueur = player; break; } } // Son positionnement dans le array int pos = ListeDesJoueurs.IndexOf(joueur); switch (pos) { case 0: // Assignation normale for (int i = 0; i < ListeDesJoueurs.Count; i++) { ListeDesJoueurs[i].Positionnement = i + 1; } break; case 1: ListeDesJoueurs[0].Positionnement = 4; ListeDesJoueurs[2].Positionnement = 2; ListeDesJoueurs[3].Positionnement = 3; break; case 2: ListeDesJoueurs[0].Positionnement = 3; ListeDesJoueurs[1].Positionnement = 4; ListeDesJoueurs[3].Positionnement = 2; break; case 3: ListeDesJoueurs[0].Positionnement = 2; ListeDesJoueurs[1].Positionnement = 3; ListeDesJoueurs[2].Positionnement = 4; break; } }
/// <summary> /// Au commencement du jeu, cette méthode assigne a tour de role une position a chaque joueur /// </summary> public void AssignerUnePosition() { // Celui qui a la Carte (Deux de Trefle) commence le jeu Carte carte = new Carte(Couleur.Trefle, Valeur.Deux); foreach (Joueur joueur in ListeDesJoueurs) { if (joueur.Paquet.Contains(carte)) { ListeDesJoueurs.Premier = joueur; } } ListeDesJoueurs.MoveAndAssigne(); }
/// <summary> /// Trie en ordre croissant les joueurs avec leur positionnement /// </summary> /// <returns> La liste des joueurs en ordre de commencement </returns> public void OrderListAvecPos() { ListeDesJoueurs.Sort(); }
/// <summary> /// Cette méthode régle les positions pour le prochain tour /// </summary> /// <param name="perdant"> Le joueur perdant dans le tour en question </param> public void RegleLePos(Joueur perdant) { ListeDesJoueurs.Premier = perdant; ListeDesJoueurs.MoveAndAssigne(); }