Exemple #1
0
        private int IndiceDe(PosTer posTerrain) // retourne la taille du tableau si la position n'est pas trouvée
        {
            int i = 0;

            while (i < position.Length && position[i] != posTerrain)
            {
                i++;
            }
            return(i);
        }
Exemple #2
0
 public void AjouOuSuppPosition(PosTer pos)
 {
     if (this.EstUn(pos))
     {
         SuppressionPosition(pos);
     }
     else
     {
         AjoutPosition(pos);
     }
 }
Exemple #3
0
        public bool SuppressionPosition(PosTer pos)
        {
            int  indiceDePos = IndiceDe(pos);
            bool supprime    = indiceDePos < this.position.Length;

            if (supprime)
            {
                this.position[indiceDePos] = 0;
            }
            TriPoste();
            return(supprime);
        }
Exemple #4
0
        /*=============TRAITEMENT DES POSITIONS SUR LE TERRAIN===================*/

        /*
         * Systeme de position:
         *      les positions pour un joueur sont stocké dans un tableau de taille 3.
         *      un joueur ne peu pas avoir deux fois le même poste, une verification à chaque ajout.
         *      à chaque ajout ou suppression, un tri est effectué. Les postes sont alors rangé dans l ordre listé dans PosTer.cs du plud grand au plus petit
         *      un tri est effectué pour :
         *          -Placer tout les '0' à la fin du tableau (utile à la methode TotalPosition()
         *      une valeur de 0 dans le tableau signifie qu'il n occupe pas de poste à cet indice.
         *
         */

        public bool AjoutPosition(PosTer pos)
        {
            int  nbPoste     = TotalPosition();
            bool AjoutReussi = nbPoste < this.position.Length && !EstUn(pos);

            if (AjoutReussi)
            {
                this.position[nbPoste] = pos;
            }
            TriPoste();
            return(AjoutReussi);
        }
Exemple #5
0
 private void TriPoste()
 {
     for (int i = this.position.Length - 1; i >= 1; i--)
     {
         for (int j = 0; j <= i - 1; j++)
         {
             if (this.position[j + 1] > this.position[j])
             {
                 PosTer pos = this.position[j + 1];
                 this.position[j + 1] = this.position[j];
                 this.position[j]     = pos;
             }
         }
     }
 }
Exemple #6
0
 public bool EstUn(PosTer posTerrain)
 {
     return(this.IndiceDe(posTerrain) < this.position.Length);
 }