Поле шахматной доски. Определить, являются ли поля (a, b) и (с, d) полями одного цвета - C#
Формулировка задачи:
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число-номер вертикали(при счете слева направо), второе-номер горизонтали(при счете снизу вверх). Даны натуральные числа a, b, c,d, каждое из которых не превосходит восьми. Определить, являются ли поля (a,b) и (с, d) полями одного цвета.
Решение задачи: «Поле шахматной доски. Определить, являются ли поля (a, b) и (с, d) полями одного цвета»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int[,] chessBoard = new int[8, 8];
//заполнение доски
InitBoard(chessBoard);
// показать доску
ShowBoard(chessBoard);
Console.WriteLine("a= b= c= d=");
// сделать проверку корректности данных
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
CheakField(chessBoard, a, b);
int c = int.Parse(Console.ReadLine());
int d = int.Parse(Console.ReadLine());
CheakField(chessBoard, c, d);
}
private static void CheakField(int[,] chessBoard, int a, int b)
{
if (chessBoard[a - 1, b - 1] == 0)
{
Console.WriteLine("field[{0},{1}] = {2}", a, b, 0);
}
else
{
Console.WriteLine("field[{0},{1}] = {2}", a, b, 1);
}
}
private static void ShowBoard(int[,] chessBoard)
{
// по условию автора слево на право, снизу вверх
for (int i = 0; i < 8; i++)
{
for (int j = 7; j >= 0; j--)
{
Console.Write("{0} ", chessBoard[i, j]);
}
Console.WriteLine();
}
}
private static void InitBoard(int[,] chessBoard)
{
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
if ((i + j) % 2 != 0)
{
chessBoard[i, j] = 1;
}
}
}
}
}