Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

7 лабораторная работа ОП

.pdf
Скачиваний:
3
Добавлен:
01.12.2023
Размер:
559.02 Кб
Скачать

11

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