Exemplo n.º 1
0
        static void Main(string[] args)
        {
            string[,] array =
            {
                { "A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1" },
                { "A2", "B2", "C2", "D2", "E2", "F2", "G2", "H2" },
                { "A3", "B3", "C3", "D3", "E3", "F3", "G3", "H3" },
                { "A4", "B4", "C4", "D4", "E4", "F4", "G4", "H4" },
                { "A5", "B5", "C5", "D5", "E5", "F5", "G5", "H5" },
                { "A6", "B6", "C6", "D6", "E6", "F6", "G6", "H6" },
                { "A7", "B7", "C7", "D7", "E7", "F7", "G7", "H7" },
                { "A8", "B8", "C8", "D8", "E8", "F8", "G8", "H8" },
            };

            string SPosition, EPosition, buchstabe, buchstabe1;
            int    zahl, zahl1;

            Console.Write("Начальное ");
            SPosition = Check();
            //деление на число и букву
            zahl      = int.Parse(SPosition.Substring(1));
            buchstabe = SPosition.Substring(0, 1).ToUpper();

            // проверка правильности буквы и числа
            while (CheckN(zahl) || CheckB(buchstabe))
            {
                SPosition = Check();
                zahl      = int.Parse(SPosition.Substring(1));
                buchstabe = SPosition.Substring(0, 1).ToUpper();
            }

            // конвертирование
            SPosition = buchstabe + zahl;
            int[] StartPosition = Coordination(array, SPosition);

            // Конечная позиция
            Console.Write("Конечное ");
            EPosition  = Check();
            zahl1      = int.Parse(EPosition.Substring(1));
            buchstabe1 = EPosition.Substring(0, 1).ToUpper();

            while (CheckN(zahl1) || CheckB(buchstabe1))
            {
                EPosition  = Check();
                zahl1      = int.Parse(EPosition.Substring(1));
                buchstabe1 = EPosition.Substring(0, 1).ToUpper();
            }

            // конвертирование
            EPosition = buchstabe1 + zahl1;
            int[] EndPosition = Coordination(array, EPosition);

            // ввод фигуры и ее проверка
            Console.Write("Напишите стандартное обозначение фигуры, которую собируетесь проверить");
            string piece = Console.ReadLine();

            if (piece == "К" || piece == "N")
            {
                Horse(StartPosition[0], StartPosition[1], EndPosition[0], EndPosition[1]);
            }
            else if (piece == "Кр" || piece == "K")
            {
                King(StartPosition[0], StartPosition[1], EndPosition[0], EndPosition[1]);
            }
            else if (piece == "Л" || piece == "R")
            {
                Rook(StartPosition[0], StartPosition[1], EndPosition[0], EndPosition[1]);
            }
            else if (piece == "С" || piece == "B")
            {
                Bishop(StartPosition[0], StartPosition[1], EndPosition[0], EndPosition[1]);
            }
            else if (piece == "Ф" || piece == "Q")
            {
                Queen(StartPosition[0], StartPosition[1], EndPosition[0], EndPosition[1]);
            }
            else if (piece == "п" || piece == "p" || piece == " ")
            {
                Pawn(StartPosition[0], StartPosition[1], EndPosition[0], EndPosition[1]);
            }
            else
            {
                Console.WriteLine("Вы ввели неправильное значеине");
            }
            Console.ReadKey();
        }