Я пытаюсь создать шахматный дизайн в консоли с использованием 2D-массивов. Я сделал границы с "|" и "-" для создания игрового поля. Однако, у меня есть проблемы с переключением цвета поля (белый | черный | белый) Вот мой код (без изменения цвета на пронумерованных полей)2D-массив шахматной доски
public class Program
{
static void Main(string[] args)
{
int[] array = new int[10];
int[,] array2 = new int[6, 9];
for(int i = 0;i < array2.GetLength(0); i++)
{
if (i == array2.GetLength(0)-1 || i == 0)
{
for (int h = 0; h < array2.GetLength(1); h++)
decidingColors(false);
Console.Write("|" + "-");
}
else
for (int x = 0;x < array2.GetLength(1); x++)
{
decidingColors(false);
Console.Write("|");
decidingColors(true);
Console.Write(array2[i, x]);
}
decidingColors(false);
Console.Write("|");
Console.WriteLine();
}
Console.ReadLine();
}
public static void decidingColors(bool wentThrough)
{
if(wentThrough == true)
{
Console.BackgroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Black;
}
else
{
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.White;
}
}
}
Я пробовал использовать различные методы, но он всегда получал как-то в код и сломал его. У вас есть хорошее решение?
Заранее благодарен!
Обычно мне нравится делать пользовательский класс для каждого квадрата на доске. Квадрат может содержать много информации, включая кусок на площади. Это сделает код намного проще. – jdweng