Движение каретки по заданному массиву в консоли - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д