예제 #1
0
파일: Program.cs 프로젝트: vingue/Echec
        public static void tour(bool joueur)
        {
            int horizontal;
            int vertical;
            int newHorizontal;
            int newVertical;
            Piece select = new Pion(9, 9, true);
            if(joueur)
            {
                Console.WriteLine("Joueur blanc c'est à vous.");
            }
            else
            {
                Console.WriteLine("Joueur noir c'est à vous.");
            }
            do
            {
                Console.Write("Entrer la valeur horizontale de votre piece: ");
                horizontal = readHorizon();
                Console.Write("Entrer la valeur verticale de votre piece: ");
                vertical = readVertical();
                if (plateau[horizontal, vertical] is Piece)
                    select = (Piece)plateau[horizontal, vertical];
                else
                    continue;
            } while (select.getColor()!=joueur);
            select = (Piece)plateau[horizontal, vertical];
            select.atteinte();
            list = select.getList();
            Console.Clear();
            affiche();
            
            do
            {
                Console.Write("Entrer la valeur horizontale de la case cible: ");
                newHorizontal = readHorizon();
                Console.Write("Entrer la valeur verticale de la case cible: ");
                newVertical = readVertical();
            } while (!(list.Any(test => test.Equals(plateau[newHorizontal, newVertical]))));

            if (!(plateau[newHorizontal, newVertical] is Piece))
            {
                echange((Piece)plateau[horizontal, vertical], plateau[newHorizontal, newVertical]);
                if (plateau[newHorizontal, newVertical] is Roi)
                {
                    mouvRoi((Piece)plateau[newHorizontal, newVertical], joueur);
                }
            }
            else
            {
                echange((Piece)plateau[horizontal, vertical], (Piece)plateau[newHorizontal, newVertical]);
                if(plateau[newHorizontal,newVertical] is Roi)
                {
                    mouvRoi((Piece)plateau[newHorizontal, newVertical], joueur);
                }
            }
            select = (Piece)plateau[newHorizontal, newVertical];
            select.atteinte();
            list = select.getList();
            list = null;
        }