класу Base_Korabl, до якого крім властивостей базового класу додаються властивості позиція, розмір, положення, і в якому перевизначений метод промальовування, щоб промальовувати кораблі різного розміру. Всі властивості класів закриті за допомогою мітки видимості private, а доступ до них здійснюється за допомогою загальнодоступних методів працюючими з властивостями. Такий підхід дозволяє приховати від особливості організації класу, надавши користувачу інтерфейс роботи з класом. p align="justify"> При розробці програми я отримав практичні навички в роботи з класами і закріпив теоретичні знання з об'єктно-орієнтованого програмування.
Особливих труднощів у написанні роботи не виникло.
Подальшу модифікацію програми бачу в ускладненні логіки гри комп'ютера таким чином, щоб спочатку він стріляв по тих клітинам, в яких можуть розташовуватися великі кораблі.
Мета роботи полягала у вивченні принципів об'єктно-орієнтованого програмування, і ця мета була досягнута.
Список літератури
. С/С + +. Програмування на мові високого рівня. Павловська Т.А. Санкт - Петербург В«ПітерВ» 2004 р;
. C/C + +. Об'єктно-орієнтоване програмування. Практикум. Павловська Т.А. Санкт - Петербург В«ПітерВ» 2004 р;
. C/C + +. Структурне програмування. Практикум. Павловська Т.А., Щупак Ю.А. Санкт - Петербург В«ПітерВ» 2005 р;
. Конспект лекцій з дисципліни В«Об'єктно-орієнтоване програмуванняВ»;
Програми
Додаток 1 (лістинг програми)
# include
# include
# include
# include Kletka {: Pustaya_kletka, Vistrel, X, Y;: (int x, int y) {Vistrel = 0; Pustaya_kletka = 0; X = x; Y = y;} Vistrel_v_kletku (int vistrel = 1) {Vistrel = vistrel;} Vistrel_ili_net () {return Vistrel;} Korabl_v_kletku (int pustaya_kletka) {Pustaya_kletka = pustaya_kletka;} Pustaya_ili_net () {return Pustaya_kletka;} Prorisovka (int sdvX, int sdvY ) {(3 * (sdvX + X), 2 * (sdvY + Y), 3 * (sdvX + X) +2, 2 * (sdvY + Y) +1); color; (Pustaya_kletka == 2) {( Vistrel) color = RED; color = GREEN;
} if (Vistrel) color = BLUE; color = BLUE; (color); (); (color == CYAN) {(2, 2);
} (Vistrel) {<<"*"; (WHITE);
}
}
}; Base_Korabl {: Color;: _Korabl () {Color = 0;} Prorisovka (short x, short y) {(3 * x, 2 * y, 3 * x +2, 2 * y +1); (Color); ();
}
}; Kor_potomok: Base_Korabl {short Razmer, X, Y, Polojenie, KOL_RANENIY;: _potomok (short razmer, short x, short y, short polojenie) {= razmer; X = x; Y =...