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