7 лабораторная работа ОП
.pdf11
public void Castling(ChessMan Korol, ChessMan Ladya, ChessMan Slon)
{
ChessMan[] CheckCastling = new ChessMan[2] { Korol, Slon }; bool checkPos = true;
if (Position == 'E' && (PositionNumb == 8) && Color == "Черный")
{
if (Ladya.Position == 'A' && Ladya.PositionNumb == 8 && Ladya.Color == "Черный")
{
foreach (var a in CheckCastling)
{
if (a.PositionNumb == 8 && (a.Position == 'B' || a.Position == 'C'
|| a.Position == 'D'))
{
checkPos = false;
}
}
}
else if (Ladya.Position == 'H' && Ladya.PositionNumb == 8 && Ladya.Color == "Черный")
{
foreach (var a in CheckCastling)
{
if (a.PositionNumb == 8 && (a.Position == 'F' || a.Position ==
'G'))
{
checkPos = false;
}
}
}
12
}
else if (Position == 'E' && (PositionNumb == 1) && Color == "Белый")
{
if (Ladya.Position == 'A' && Ladya.PositionNumb == 1 && Ladya.Color == "Белый")
{
foreach (var a in CheckCastling)
{
if (a.PositionNumb == 1 && (a.Position == 'B' || a.Position == 'C'
|| a.Position == 'D'))
{
checkPos = false;
}
}
}
else if (Ladya.Position == 'H' && Ladya.PositionNumb == 1 && Ladya.Color == "Белый")
{
foreach (var a in CheckCastling)
{
if (a.PositionNumb == 1 && (a.Position == 'F' || a.Position ==
'G'))
{
checkPos = false;
}
}
}
else Console.WriteLine("Рокировка невозможна!");
}
if (checkPos)
13
{
Console.WriteLine("Рокировка возможна!");
}
else Console.WriteLine("Рокировка невозможна!");
}
}
class ChessBishop : MinorPiece
{
public ChessBishop(string name, string color, char position, int pos)
{
Name = name; Color = color; Position = position; PositionNumb = pos;
PossibleMoves = $"По диагонали в любую сторону";
}
}
class ChessRook : HeavyPiece
{
public ChessRook(string name, string color, char position, int pos)
{
Name = name; Color = color; Position = position; PositionNumb = pos;
PossibleMoves = $"По вертикали и горизонтали в любую сторону";
}
}
}
2.2 Процесс выполнения программы и ввод данных
Скриншот работы программы представлен на рисунке 2.1.
14
Рисунок 2.1 – Работа программы задания 1 Исходя из рисунка 2.1, можно сделать вывод, что программа работает
корректно.
На рисунке 2.2 изображена диаграмма классов.
Рисунок 2.2 – Диаграмма классов
15
3Заключение
Вданной лабораторной работе были получены навыки использования механизмов инкапсуляции, наследования и полиморфизма. Были составлены консольное приложение для решения задач согласно варианту, согласованному
спреподавателем, вводя данные в ходе выполнения программы.
Отчет был составлен согласно ОС ТУСУР.
16
Список использованной литературы
1. ГОСТ ОС ТУСУР 01-2013 Работы студенческие по направлениям подготовки и специальностям технического профиля - Общие требования и правила оформления [Электронный ресурс] - Режим доступа: https://storage.tusur.ru/files/40668/rules_tech_01-2013.pdf