Составители:
Рубрика:
67
int Move(char x, int y) //функция, реализующая ход слона на поле [x y ]
{ if (abs((x - vert)
== abs(y - hor))
&& (x != vert)) {
vert= x; y=hor;
return 1;
}
return 0;
}
};
class Queen: public Bishop, public Castle
{
public:
Queen(char x, int y, int z): //конструктор
Castle (x, y, z), Bishop (x, y, z)
{}
int Move(char x, int y) {
return Castle::Move(x,y) || Bishop::Move (x,y);
}};
В программе определены 4 класса. Класс Figure является абстрактным
обобщением свойств всех шахматных фигур, поэтому он содержит такие
компонентные данные, как позиция фигуры на доске, определяемая по вертикали
буквой vert и по горизонтали цифрой hor, а также цвет фигуры color. Классы
Castle и Bishop описывают, соответственно, ладью и слона. Для этих классов
определена функция
int Move(char x, int y),
проверяющая, может ли данная фигура пойти на поле с указанными в параметрах
функции координатами, и если может – сделать этот ход. Самым интересным
классом является класс Queen, описывающий поведение ферзя. Каждый, кто
знаком с правилами шахмат, знает, что ферзь объединяет в себе свойства ладьи и
слона (в том смысле, что
может ходить как по диагонали, как слон, так и по
Figure
Bishop
Queen
Рисунок 10. - Схема иерархии классов программы «Шахматы»
Castle
Figure
int Move(char x, int y) //функция, реализующая ход слона на поле [x y ] { if (abs((x - vert) == abs(y - hor)) && (x != vert)) { vert= x; y=hor; return 1; } return 0; } }; class Queen: public Bishop, public Castle { public: Queen(char x, int y, int z): //конструктор Castle (x, y, z), Bishop (x, y, z) {} int Move(char x, int y) { return Castle::Move(x,y) || Bishop::Move (x,y); }}; В программе определены 4 класса. Класс Figure является абстрактным обобщением свойств всех шахматных фигур, поэтому он содержит такие компонентные данные, как позиция фигуры на доске, определяемая по вертикали буквой vert и по горизонтали цифрой hor, а также цвет фигуры color. Классы Castle и Bishop описывают, соответственно, ладью и слона. Для этих классов определена функция int Move(char x, int y), проверяющая, может ли данная фигура пойти на поле с указанными в параметрах функции координатами, и если может – сделать этот ход. Самым интересным классом является класс Queen, описывающий поведение ферзя. Каждый, кто знаком с правилами шахмат, знает, что ферзь объединяет в себе свойства ладьи и слона (в том смысле, что может ходить как по диагонали, как слон, так и по Figure Figure Bishop Castle Queen 67 Рисунок 10. - Схема иерархии классов программы «Шахматы»
Страницы
- « первая
- ‹ предыдущая
- …
- 65
- 66
- 67
- 68
- 69
- …
- следующая ›
- последняя »