Основы программирования на C++, PASCAL
• Run — организует бесконечный цикл, в котором выполняется метод Run всех обитателей аквариума.
• Done — выключает графический режим.
16. Определить два объекта TPike и TKаrр, которые наследуют объект Tfish (см. задачу 14). Оба они отличаются от TFish тем, что по-разному изображают себя на экране: TPike — в виде зеленой стрелки, а ТКаrр — в виде красного треугольника. Воспользуйтесь виртуальными методами. Для этого вернитесь к определению TFish и откорректируйте его, сделав Draw пустым и виртуальным.
17. Объединить карпов и щук (см. задачу 16) в две стаи. Стая — это связанный список рыб в динамической памяти. Для связи добавьте в объекты TPike и ТКаrр поле Next — указатель на следующую рыбу в стае. Сделайте аквариум владельцем не отдельных рыб, а двух стай и позвольте пользователю пополнять стаи, вводя рыб с клавиатуры.
18. Позволить щукам (см. задачу 16) проявить свой дурной характер и поедать карпов, как только они их увидят. Здесь возникнет проблема — установить, какого именно карпа видит щука. Она решается путем просмотра всей стаи карпов и поиска того, чьи координаты близки к координатам данной щуки. Найденный карп удаляется из стаи.
19. Составить программу для игры в шашки. Шашка каждого нового цвета выступает в качестве отдельного объекта. Характеристики шашки — цвет и позиция на доске. Методы — перемещение. Не забудьте о таких объектах, как «дамки».
20. Составить программу для игры в домино. В качестве объектов выступают кости домино. Методы — способы выставления той или иной кости.
21. Составить программу для игры в шахматы. Каждая уникальная шахматная фигура выступает в качестве отдельного объекта. Она характеризуется цветом, положением на доске, способом перемещения. Предусмотреть возможность превращения пешки в ферзя.
22—25. Задачи 18—21 в графическом режиме. 26—35. Задачи 1-Х из раздела «Задачи по теме "Модули"».