Движение каретки по заданному массиву в консоли - C#

Узнай цену своей работы

Формулировка задачи:

Уважаемые программисты, подскажите пожалуйста... Есть одномерный массив на 9 элементов. Цель: В консоли 1) Передвижение каретки стрелочками по элементами массива не выходя за рамки. |{0}|{1}|{2}| |{0}|{1}|{2}| |{0}|{1}|{2}| 2) по нажатию конкретно на клавишу пробел, менять значение элемента на 'Х' или на '0'. Заранее благодарен.

Решение задачи: «Движение каретки по заданному массиву в консоли»

textual
Листинг программы
            string[] s = { " | | ", "-+-+-", " | | ", "-+-+-", " | | " };
 
            for (int i = 0; i < 5; i++) Console.WriteLine(s[i]);
            int[][] a = { new int[] { 0, 0, 0 }, new int[] { 0, 0, 0 }, new int[]{ 0, 0, 0 } };
            int x = 0, y = 0;
            ConsoleKey ck;
            do
            {
                Console.CursorLeft = x;
                Console.CursorTop = y;
                ck = Console.ReadKey(true).Key;
                if (ck == ConsoleKey.RightArrow && x < 4) x+=2;
                if (ck == ConsoleKey.LeftArrow && x > 0) x-=2;
                if (ck == ConsoleKey.DownArrow && y < 4) y+=2;
                if (ck == ConsoleKey.UpArrow && y > 0) y-=2;
                if (ck == ConsoleKey.Spacebar)
                if (a[y / 2][x / 2] == 0)
                {
                    a[y / 2][x / 2] = 1;
                    Console.Write("X");
                }
                else
                {
                    a[y / 2][x / 2] = 3 - a[y / 2][x / 2];
                    Console.Write(a[y / 2][x / 2] == 1 ? "X" : "0");
                }
 
            } while (ck != ConsoleKey.Escape);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы