Комп «ютерна модель гри «морський бій»
ActionsForFieldButtons — обробник натиснення кнопок-поля користувача, застосовується при розставлянні. ActionsForCompFieldButton — обробник натиснення кнопок-поля комп’ютера, застосовується при грі. Клас Main — клас, який забезпечує початок гри, містить в собі вісім функцій, а саме: Гра продовжується до тих пір, доки хтось не уб'є всі кораблі супротивника. CheckShot — перевірка пострілу… Читати ще >
Комп «ютерна модель гри «морський бій» (реферат, курсова, диплом, контрольна)
Обґрунтування вибору середовища програмної реалізації
Програма реалізована в середовищі розробки Microsoft Visual Studio 2008 на мові об'єктно-орієнтованого програмування С++.
Microsoft Visual Studio 2008 допомагає індивідуальним програмістам і невеликим групам, що створюють будь-які види ПО, прискорити розробку додатків і створення призначених для користувача інтерфейсів з принципово новим рівнем зручності, підвищити ефективність колективної роботи.
Visual Studio 2008 допомагає писати код швидше, підтримуючи безліч засобів і можливостей, які підвищують продуктивність праці.
Технологія Intellisense є різновидом авто завершення: як тільки ви вводите ім'я класу або об'єкту і ставите крапку, показується список доступних членів даного класу або об'єкту. Це прискорює кодування, оскільки зменшується кількість тексту, що набирає на клавіатурі.
Візуальні конструктори Visual Studio 2008 дозволяють створювати потужні і привабливі застосування, засновані на Windows Presentation Foundation, — графічній підсистемі.
Програмна реалізація
З метою зручнішого проектування, налаштування, і розділення окремих виконуваних операцій, програма побудована на класах, які взаємодіють між собою. Використання класів дає покращуваною розуміння коди, а значить налаштування і подальшу модифікацію вихідної коди програми. У даній програмі чітко просліджуються групи функцій, які із-за виконуваних ними операцій варто об'єднати в класи. Проаналізувавши наочну область програми можна виділити наступні класи:
- -Game
- -Main
- -Computer
- -Shell
Клас Main — клас, який забезпечує початок гри, містить в собі вісім функцій, а саме:
WinMain — точка входу в програму, аналог main в консольних додатках. У ній відбувається ініціалізація головного вікна.
WndProc — обробник подій. У цій функції перевіряється чи натискує кнопка.
InitializeShipButtonSelect — відбувається ініціалізація кнопок — кораблів, за допомогою яких відбувається розставляння їх на полі.
ActionsForAllButtons — обробник натиснення всіх кнопок, який залежно від типа кнопки перенаправляє подію в інший метод.
ActionsForCompFieldButton — обробник натиснення кнопок-поля комп’ютера, застосовується при грі.
ActionsForFieldButtons — обробник натиснення кнопок-поля користувача, застосовується при розставлянні.
CheckeNabledButton — перевіряє на кількість кораблів, що залишилися, на кожній палубі, якщо таких вже ні переводить кнопку в неактивований стан.
ActionsForPlaceButtons — обробник кнопок-кораблів розставляння.
Клас Game — забезпечую сам процес гри, містить в собі шість функцій:
Game — конструктор, ініціалізація всіх змінних.
InitializeFields — розставляє кнопки на формі(поля гравця і комп’ютера).
PlaceCompShip — розміщення кораблів комп’ютера.
NextCompStep — здійснюємо хід комп’ютера.
MakeUserShot — перевіряємо хід гравця і повертаємо стан.
~Game — деструктор.
Клас Computer — відповідає за гру комп’ютера. Містить в собі шість функцій:
ShotAlgorythm — алгоритм стрілянини комп’ютера.
PlaceShips — алгоритм розставляння кораблів комп’ютера.
CheckShot — перевірка пострілу, занесення результатів в матрицю комп’ютера.
ship_is_good — перевірка на можливість розташування корабля.
set_ship_with_size — завдання корабля з певним розміром.
set_ships — завдання всіх кораблів.
Клас Shell — відповідає а реалізацію пострілу.
Інструкція користувача
Перед початком гри необхідно:
Запустити гру «Морський бій».
Розташувати всі свої кораблі.
Почати гру, користувач завжди стріляє першим.
Гра продовжується до тих пір, доки хтось не уб'є всі кораблі супротивника.