Пример #1
0
 //vérifie si un pion peut se trasformer en dame et dans ce cas le transforme en dame
 public void meta(Pion pion)
 {
     int[] coor = new int[2];
     if (pion.Joueur.color == joueur2.color)
     {
         for (int i = 0; i < 10; i++)
         {
             if (pion.Coor[0] == i && pion.Coor[1] == 0)
             {
                 coor[0]       = i;
                 coor[1]       = 0;
                 tableau[i, 0] = null;
                 tableau[i, 0] = new Dame(joueur2, coor);
             }
         }
     }
     else
     {
         for (int i = 0; i < 10; i++)
         {
             if (pion.Coor[0] == i && pion.Coor[1] == 9)
             {
                 coor[0]       = i;
                 coor[1]       = 9;
                 tableau[i, 9] = null;
                 tableau[i, 9] = new Dame(joueur1, coor);
             }
         }
     }
 }
Пример #2
0
 //Construit un plateau et place les pièces de chaque joueur dessus
 public Plateau(Joueur pjoueur1, Joueur pjoueur2)
 {
     diagodame    = false;
     tableau      = new Pion[10, 10];
     this.joueur1 = pjoueur1;
     this.joueur2 = pjoueur2;
     int[] coor = new int[2];
     for (int i = 0; i < 10; i++)
     {
         for (int j = 0; j < 10; j++)
         {
             tableau[i, j] = null;
         }
         for (int j = 0; j < 4; j++)
         {
             if ((i + j) % 2 != 1)
             {
                 coor[0]       = i;
                 coor[1]       = j;
                 tableau[i, j] = new Pion(joueur1, coor);
             }
         }
         for (int j = 9; j > 5; j--)
         {
             if ((i + j) % 2 != 1)
             {
                 coor[0]       = i;
                 coor[1]       = j;
                 tableau[i, j] = new Pion(joueur2, coor);
             }
         }
     }
 }
Пример #3
0
 //affiche la grille avec les pions et les mouvements du pion choisi
 public void mouvposs(Pion pion)
 {
     Console.Clear();
     Console.Write("     ");
     for (int i = 0; i < 10; i++)
     {
         Console.Write("  " + i + "  ");
     }
     Console.WriteLine();
     for (int i = 0; i < 10; i++)
     {
         Console.Write("  " + i + "  ");
         for (int j = 0; j < 10; j++)
         {
             if (tableau[i, j] == null)
             {
                 bool exist = false;
                 foreach (int[] item in pion.Cases)
                 {
                     if (item[0] == i && item[1] == j)
                     {
                         Console.Write(" O O ");
                         exist = true;
                     }
                 }
                 if (!exist)
                 {
                     Console.Write("     ");
                 }
             }
             else if (tableau[i, j].Joueur == joueur1)
             {
                 if (tableau[i, j] is Dame)
                 {
                     Console.Write(" |B| ");
                 }
                 else
                 {
                     Console.Write("  B  ");
                 }
             }
             else if (tableau[i, j].Joueur == joueur2)
             {
                 if (tableau[i, j] is Dame)
                 {
                     Console.Write(" |W| ");
                 }
                 else
                 {
                     Console.Write("  W  ");
                 }
             }
         }
         Console.WriteLine();
     }
 }
Пример #4
0
 //bouge le pion par rapport a la case choisie par le joueur et vérifie si il passe par un ennemis en même temps
 public void move(Pion pion, int[] caseJ, Joueur joueur)
 {
     tableau[pion.Coor[0], pion.Coor[1]].reset();
     Console.WriteLine("casej=" + caseJ[0] + "   " + caseJ[1]);
     if (!(tableau[pion.Coor[0], pion.Coor[1]] is Dame))
     {
         if (Math.Abs(pion.Coor[0] - caseJ[0]) == 2 || Math.Abs(pion.Coor[1] - caseJ[1]) == 2)
         {
             Console.WriteLine("je mange");
             int[] coor = new int[2];
             coor[0] = caseJ[0] + ((pion.Coor[0] - caseJ[0]) / 2);
             coor[1] = caseJ[1] + ((pion.Coor[1] - caseJ[1]) / 2);
             tableau[pion.Coor[0], pion.Coor[1]] = null;
             tableau[caseJ[0], caseJ[1]]         = new Pion(joueur, caseJ);
             pion.Coor = caseJ;
             mange(pion, coor, joueur);
         }
         else
         {
             tableau[caseJ[0], caseJ[1]]         = new Pion(joueur, caseJ);
             tableau[pion.Coor[0], pion.Coor[1]] = null;
             meta(tableau[caseJ[0], caseJ[1]]);
         }
     }
     else
     {
         for (int x = 1; x < Math.Abs(pion.Coor[0] - caseJ[0]); x++)
         {
             int abscisse = pion.Coor[0] - ((pion.Coor[0] - caseJ[0]) / Math.Abs(pion.Coor[0] - caseJ[0]) * x);
             int ordonne  = pion.Coor[1] - ((pion.Coor[1] - caseJ[1]) / Math.Abs(pion.Coor[1] - caseJ[1]) * x);
             if (tableau[abscisse, ordonne] != null)
             {
                 Console.WriteLine("je mange");
                 int[] coor = new int[2];
                 coor[0] = abscisse;
                 coor[1] = ordonne;
                 tableau[pion.Coor[0], pion.Coor[1]] = null;
                 tableau[caseJ[0], caseJ[1]]         = new Dame(joueur, caseJ);
                 pion.Coor = caseJ;
                 mange(pion, coor, joueur);
             }
             else
             {
                 tableau[caseJ[0], caseJ[1]]         = new Dame(joueur, caseJ);
                 tableau[pion.Coor[0], pion.Coor[1]] = null;
                 break;
             }
         }
     }
 }
Пример #5
0
        //mange le pion ennemi en le supprimant et permet au pion de remanger si des ennemis sont mangeables
        public void mange(Pion pion, int[] coor, Joueur joueur)
        {
            pion.reset();
            Console.WriteLine("coor:" + coor[0] + coor[1]);
            tableau[coor[0], coor[1]] = null;
            meta(pion);
            List <int[]> list = new List <int[]>();

            list       = mangeable(pion);
            pion.Cases = list;
            mouvposs(pion);
            bool coord = false;

            int[] coorJ = new int[2];
            if (pion.Cases.Count != 0)
            {
                Console.WriteLine("Déplacements possibles:");
                foreach (int[] casee in pion.Cases)
                {
                    Console.WriteLine("[" + casee[0] + "," + casee[1] + "]");
                }
                Console.WriteLine("choisissez votre déplacement");
                while (coord == false)
                {
                    coorJ[0] = Console.Read() - 48;
                    Console.ReadLine();
                    coorJ[1] = Console.Read() - 48;
                    Console.ReadLine();
                    foreach (int[] choixposs in pion.Cases)
                    {
                        if (coorJ[0] == choixposs[0] && coorJ[1] == choixposs[1])
                        {
                            coord = true;
                        }
                    }
                    if (coord == false)
                    {
                        Console.WriteLine("you can't");
                    }
                }
                move(pion, coorJ, joueur);
            }
        }
Пример #6
0
        //trouve les déplacements possibles du pion et rempli sa liste de cases pouvant être atteintes
        public List <int[]> movePion(Pion pion, int i = 1)
        {
            int x = 0;
            int y = 0;

            int[]        test   = new int[2];
            bool         joueur = false;
            List <int[]> list   = new List <int[]>();

            for (int compteur = 0; compteur < 4; compteur++)
            {
                switch (compteur)
                {
                case 0:
                    x      = i;
                    y      = i;
                    joueur = joueur1.color;
                    break;

                case 1:
                    x      = -i;
                    y      = i;
                    joueur = joueur1.color;
                    break;

                case 2:
                    x      = -i;
                    y      = -i;
                    joueur = joueur2.color;
                    break;

                case 3:
                    x      = i;
                    y      = -i;
                    joueur = joueur2.color;
                    break;
                }
                test = verif_case(pion.Coor, x, y);
                if (test != null)
                {
                    if (tableau[pion.Coor[0], pion.Coor[1]] is Dame || tableau[pion.Coor[0], pion.Coor[1]].Joueur.color == joueur)
                    {
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee[0] == test[0] && casee[1] == test[1])
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(test);
                        }
                    }
                }
            }
            pion.Cases = list;
            list       = mangeable(pion);
            return(list);
        }
Пример #7
0
        //vérifie les cases mangeables par le pion et rempli sa liste de cases pouvant être atteintes
        public List <int[]> mangeable(Pion pion)
        {
            List <int[]> list = new List <int[]>();

            list = pion.Cases;
            int[] caseA = pion.Coor;
            if (2 <= pion.Coor[0] && pion.Coor[0] <= 7 && 2 <= pion.Coor[1] && pion.Coor[1] <= 7)
            {
                if (tableau[caseA[0] - 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] - 2] == null)
                {
                    int[] caseAdj = new int[2];
                    caseAdj[0] = caseA[0] - 2;
                    caseAdj[1] = caseA[1] - 2;
                    bool valid = true;
                    foreach (int[] casee in list)
                    {
                        if (casee == caseAdj)
                        {
                            valid = false;
                        }
                    }
                    if (valid)
                    {
                        list.Add(caseAdj);
                    }
                }
                if (tableau[caseA[0] + 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] - 2] == null)
                {
                    int[] caseAdj = new int[2];
                    caseAdj[0] = caseA[0] + 2;
                    caseAdj[1] = caseA[1] - 2;
                    list.Add(caseAdj);
                    bool valid = true;
                    foreach (int[] casee in list)
                    {
                        if (casee == caseAdj)
                        {
                            valid = false;
                        }
                    }
                    if (valid)
                    {
                        list.Add(caseAdj);
                    }
                }
                if (tableau[caseA[0] + 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] + 2] == null)
                {
                    int[] caseAdj = new int[2];
                    caseAdj[0] = caseA[0] + 2;
                    caseAdj[1] = caseA[1] + 2;
                    list.Add(caseAdj);
                    bool valid = true;
                    foreach (int[] casee in list)
                    {
                        if (casee == caseAdj)
                        {
                            valid = false;
                        }
                    }
                    if (valid)
                    {
                        list.Add(caseAdj);
                    }
                }
                if (tableau[caseA[0] - 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] + 2] == null)
                {
                    int[] caseAdj = new int[2];
                    caseAdj[0] = caseA[0] - 2;
                    caseAdj[1] = caseA[1] + 2;
                    list.Add(caseAdj);
                    bool valid = true;
                    foreach (int[] casee in list)
                    {
                        if (casee == caseAdj)
                        {
                            valid = false;
                        }
                    }
                    if (valid)
                    {
                        list.Add(caseAdj);
                    }
                }
            }
            else if (pion.Coor[0] == 0 || pion.Coor[0] == 1)
            {
                if (pion.Coor[1] == 0 || pion.Coor[1] == 1)
                {
                    if (tableau[caseA[0] + 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else if (pion.Coor[1] == 9 || pion.Coor[1] == 8)
                {
                    if (tableau[caseA[0] + 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else
                {
                    if (tableau[caseA[0] + 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                    if (tableau[caseA[0] + 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
            }
            else if (pion.Coor[0] == 9 || pion.Coor[0] == 8)
            {
                if (pion.Coor[1] == 0 || pion.Coor[1] == 1)
                {
                    if (tableau[caseA[0] - 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else if (pion.Coor[1] == 9 || pion.Coor[1] == 8)
                {
                    if (tableau[caseA[0] - 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else
                {
                    if (tableau[caseA[0] - 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                    if (tableau[caseA[0] - 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
            }
            else if (pion.Coor[1] == 0 || pion.Coor[1] == 1)
            {
                if (pion.Coor[0] == 0 || pion.Coor[0] == 1)
                {
                    if (tableau[caseA[0] + 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else if (pion.Coor[0] == 9 || pion.Coor[0] == 8)
                {
                    if (tableau[caseA[0] - 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else
                {
                    if (tableau[caseA[0] + 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                    if (tableau[caseA[0] - 1, caseA[1] + 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] + 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] + 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] + 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
            }
            else if (pion.Coor[1] == 9 || pion.Coor[1] == 8)
            {
                if (pion.Coor[0] == 0 || pion.Coor[0] == 1)
                {
                    if (tableau[caseA[0] + 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else if (pion.Coor[0] == 9 || pion.Coor[0] == 8)
                {
                    if (tableau[caseA[0] - 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
                else
                {
                    if (tableau[caseA[0] - 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] - 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] - 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] - 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                    if (tableau[caseA[0] + 1, caseA[1] - 1] != null && pion.Joueur.color != tableau[caseA[0] + 1, caseA[1] - 1].Joueur.color && tableau[caseA[0] + 2, caseA[1] - 2] == null)
                    {
                        int[] caseAdj = new int[2];
                        caseAdj[0] = caseA[0] + 2;
                        caseAdj[1] = caseA[1] - 2;
                        list.Add(caseAdj);
                        bool valid = true;
                        foreach (int[] casee in list)
                        {
                            if (casee == caseAdj)
                            {
                                valid = false;
                            }
                        }
                        if (valid)
                        {
                            list.Add(caseAdj);
                        }
                    }
                }
            }
            return(list);
        }
Пример #8
0
        //joue le tour d'un joueur
        public void joue(Plateau plateau)
        {
            plateau.affiche();
            if (this.color)
            {
                Console.WriteLine("C'est au tour de B de jouer");
            }
            else
            {
                Console.WriteLine("C'est au tour de W de jouer");
            }
            int[] coorP = new int[2];
            coorP[0] = 0;
            coorP[1] = 0;
            bool coor = false;

            while (coor == false)
            {
                coorP[0] = Console.Read() - 48;
                Console.ReadLine();
                coorP[1] = Console.Read() - 48;
                Console.ReadLine();
                Console.WriteLine("i=" + coorP[0] + " j=" + coorP[1]);
                if (0 <= coorP[0] && coorP[0] <= 10 && 0 <= coorP[1] && coorP[1] <= 10)
                {
                    if (plateau.tableau[coorP[0], coorP[1]] != null)
                    {
                        if (plateau.tableau[coorP[0], coorP[1]].Joueur == this)
                        {
                            if (plateau.tableau[coorP[0], coorP[1]] is Dame)
                            {
                                List <int[]> mouvements = new List <int[]>();
                                Dame         pion1      = new Dame(this, coorP);
                                mouvements  = plateau.moveDame(pion1);
                                pion1.Cases = mouvements;
                                if (pion1.Cases.Count != 0)
                                {
                                    coor = true;
                                }
                                else
                                {
                                    Console.WriteLine("no move for this pion");
                                }
                            }
                            else
                            {
                                Pion pion1 = new Pion(this, coorP);
                                plateau.movePion(pion1);
                                if (pion1.Cases.Count != 0)
                                {
                                    coor = true;
                                }
                                else
                                {
                                    Console.WriteLine("no move for this pion");
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine("not YOUR pion");
                        }
                    }
                    else
                    {
                        Console.WriteLine("not a pion");
                    }
                }
                else
                {
                    Console.WriteLine("Not in the grille");
                }
            }
            coor = false;
            Pion pion;

            if (plateau.tableau[coorP[0], coorP[1]] is Dame)
            {
                pion = new Dame(this, coorP);
                Dame pion2 = new Dame(this, coorP);
                plateau.moveDame(pion2);
                pion.Cases = pion2.Cases;
            }
            else
            {
                pion = new Pion(this, coorP);
                plateau.movePion(pion);
            }
            plateau.mouvposs(pion);
            if (this.color)
            {
                Console.WriteLine("C'est au tour de B de jouer");
            }
            else
            {
                Console.WriteLine("C'est au tour de W de jouer");
            }
            Console.WriteLine("Déplacements possibles:");
            foreach (int[] casee in pion.Cases)
            {
                Console.WriteLine("[" + casee[0] + "," + casee[1] + "]");
            }
            Console.WriteLine("choisissez votre déplacement");
            int[] coorJ = new int[2];
            while (coor == false)
            {
                coorJ[0] = Console.Read() - 48;
                Console.ReadLine();
                coorJ[1] = Console.Read() - 48;
                Console.ReadLine();
                foreach (int[] choixposs in pion.Cases)
                {
                    if (coorJ[0] == choixposs[0] && coorJ[1] == choixposs[1])
                    {
                        coor = true;
                    }
                }
                if (coor == false)
                {
                    Console.WriteLine("you can't");
                }
            }

            plateau.move(pion, coorJ, this);
            plateau.affiche();
        }