예제 #1
0
        // Вывести на экран "прямоугольник", образованный из двух видов символов.
        // Контур прямоугольника должен состоять из одного символа, а в "заливка" - из другого.
        // Размеры прямоугольника, а также используемые символы задаются вводом с клавиатуры.
        static void Rectangle(Homework_3 hw3)
        {
            string symb1, symb2;
            int    w, h;

            Console.WriteLine("Введите ширину прямоугольника");
            w = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите высоту прямоугольника");
            h = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите первый символ");
            symb1 = Console.ReadLine();
            Console.WriteLine("Введите второй символ");
            symb2 = Console.ReadLine();

            string[,] rectangle = hw3.MakeRectangle(w, h, symb1, symb2);
            string rectStr = hw3.PrintTwoDimensionalArrayString(rectangle);

            Console.WriteLine(rectStr);
        }
예제 #2
0
        static void Rectangle(Homework_3 hw3)
        {
            // Вывести на экран "прямоугольник", образованный из двух видов символов.
            // Контур прямоугольника должен состоять из одного символа, а в "заливка" - из другого.
            // Размеры прямоугольника, а также используемые символы задаются вводом с клавиатуры.

            string symb1, symb2;
            int    w, h;

            Console.WriteLine("Введите ширину прямоугольника");
            w = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите высоту прямоугольника");
            h = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите первый символ");
            symb1 = Console.ReadLine();
            Console.WriteLine("Введите второй символ");
            symb2 = Console.ReadLine();

            string[,] rectangle = hw3.MakeRectangle(w, h, symb1, symb2);
            string rectStr = hw3.PrintTwoDimensionalArrayString(rectangle);

            Console.WriteLine(rectStr);
        }
예제 #3
0
        static void TicTacToe(Homework_3 hw3)
        {
            int    height, width;
            string arrStng;

            Console.WriteLine("Введите ширину поля");
            width = Convert.ToInt32(Console.ReadLine());  // номер ряда
            Console.WriteLine("Введите высоту поля");
            height = Convert.ToInt32(Console.ReadLine()); // номер столбца

            string[,] arr = new string[height, width];
            arr           = hw3.FillTwoDimensionalArraySrting(arr, "+");
            arrStng       = hw3.PrintTwoDimensionalArrayString(arr);
            Console.Write(arrStng);


            int markedCellsCount = 0;

            do
            {
                int r, c;
                //   ДВА ИГРОКА проверяем валидность координат

                //Console.WriteLine("Введите номер строки");
                //try
                //{
                //    r = Convert.ToInt32(Console.ReadLine()); // номер ряда
                //}
                //catch
                //{
                //    Console.WriteLine("Неверно задано значение строки");
                //    continue;
                //}
                //Console.WriteLine("Введите номер столбца");
                //try
                //{
                //    c = Convert.ToInt32(Console.ReadLine()); // номер столбца
                //}
                //catch
                //{
                //    Console.WriteLine("Неверно задано значение столбца");
                //    continue;
                //}

                //   КОМП С СОБОЙ ИГРАЕТ
                //r = rnd.Next(0, height);
                //c = rnd.Next(0, width);

                //   ЧЕЛОВЕК-X & КОМП-O
                if (markedCellsCount % 2 == 0)
                {
AskRow:
                    Console.WriteLine($"Введите номер строки от 0 до {arr.GetLength(0) - 1}");
                    try
                    {
                        r = Convert.ToInt32(Console.ReadLine()); // номер ряда
                        if (r > arr.GetLength(0) || r < 0)
                        {
                            Console.WriteLine("Неверно задано значение строки");
                            Console.WriteLine();
                            goto AskRow;
                        }
                    }
                    catch
                    {
                        Console.WriteLine("Неверно задано значение строки");
                        Console.WriteLine();
                        continue;
                    }

AskColumn:
                    Console.WriteLine($"Введите номер столбца от 0 до {arr.GetLength(1) - 1}");
                    try
                    {
                        c = Convert.ToInt32(Console.ReadLine()); // номер столбца
                        if (c > arr.GetLength(0))
                        {
                            Console.WriteLine("Неверно задано значение столбца");
                            Console.WriteLine();

                            goto AskColumn;
                        }
                    }
                    catch
                    {
                        Console.WriteLine("Неверно задано значение столбца");
                        Console.WriteLine();
                        goto AskColumn;
                    }
                }
                else
                {
                    r = Random(0, height);
                    c = Random(0, width);
                }

                //  выбираем Х или О
                string currentMarker = markedCellsCount % 2 == 0 ? "X" : "0";

                //  проверяем занята ли клетка
                if (arr[r, c] != "+")
                {
                    Console.WriteLine("Увы! Эта клетка занята!");
                    continue;
                }
                //  ставим Х или О
                arr[r, c] = currentMarker;

                arrStng = hw3.PrintTwoDimensionalArrayString(arr);
                Console.Write(arrStng);

                //  проверяем клетки вокруг
                int markersCount = hw3.CheckCells(arr, r, c, currentMarker);

                //  ПОБЕДА
                if (markersCount == 3)
                {
                    Console.WriteLine($"Игрок {currentMarker} победил!");
                    Console.ReadLine();
                    return;
                }

                Console.WriteLine();
                markedCellsCount++;
            }while (markedCellsCount <= 25);

            Console.WriteLine("Однако, ничья!");
        }