Пишемо свій Морський Бій, на шляху до успішної курсової
Привіт шановні читачі!
Сьогодні хотілося б присвятити свою посаду розробці класичної, що вже стала символом шкільної пори, гри. Розробку ми вестимемо мовою C++ у середовищі Visual Studio. Сам я люблю писати на C#, але в ТЗ до моєї курсової були вказані мови C/C++. Графіку прикрутимо ближче до кінця, так само постараємося реалізувати ІІ. намагатися розжовувати все що роблю досить ретельно, наводити блок схеми алгоритмів і основні формули (якщо буде не ліньки), але ця серія постів вийде швидше як щоденник розробника, який мало не завалив сесію:)
У постах часто буде рерайт деяких статей з хабра та інших тематичних форумів, тому що вони написані досить грамотно і сенсу їх виправляти і перекручувати я не бачу
1.Для початку розберемося з основними правилами гри і взагалі побудуємо у себе в голові образ майбутнього творіння. є 1 корабель який займає чотири клітини 2 корабля які займають три клітини, 3 корабля на дві клітини, і 4 човни розміром з одну клітинку. кораблі повинні бути розставлені так щоб між ними обов'язково була одна порожня клітина. Взагалі для прототипу гри я зроблю консольну версію програми, протестую на ній механіку а потім якщо встигну прикрутити графіку (це я вже вказував рядків на 20 вище)
Щоб не сильно засипати вас текстом, додаю картинку ігрового поля

2. Створюємо проект програми win32 на C++ у Visual Studio

Унаступному вікні поставимо галочку навпроти MFC ,на той випадок якщо таки дійдемо до графічного інтерфейсу :)

3. Проект створений, виглядає він так (можна клікнути на картинку і розглянути краще, порівняти зі своїм результатом).

Компілюємо і молимося щоб все працювало, за підсумком після запуску програми в такому вигляді з'явиться консоль і відразу ж зникне, це нам скаже про те, що все успішно зібралося і вам не потрібно встановлювати це дітище дрібно-м'яких (мені довелося поставити студію двічі і лише тоді все нормально скомпілювалося).
Тепер давайте створимо клас гравця, не будемо сильно оригінальнувати і назвемо його Player, він буде описувати і гравця і комп'ютер і в ньому будуть методи розстановки кораблів і стрільби, але до стрільби потрібно дожити)

Після цього у нас з'явилися 2 нових файли в проекті, вони обведені червоним

йдемо в головний клас і підключаємо потрібні нам бібліотеки, це будуть clocale, conio.h, stdlib.h, iostream, ctime
поки не паримося для чого вони потрібні, пізніше я обов'язково це розповім
Взагалі це треба було зробити на початку, але ваш покірний слуга не дуже й розуміє без ударної дози кофеїну, в наступному пості обов'язково це виправимо.

Далі йдемо в наш заголовний файл і вставляємо туди рядок з визначенням
напрямки нашого корабля, щоб ми могли далі використовувати ці дані при позначенні методів класу Player
тепер йдемо в наш Player і створюємо там основні методи, які нам знадобляться

метод "set"-встановлює корабель, від значення переданої йому змінної, можна здогадатися про кількість палуб
метод "ships_init" - власне ініціалізує масив із кораблями
методи "turn" - залежно від посилання відповідають за перебіг комп'ютера чи гравця
метод "place _ship" - викликається з методу set і описує напрям і координати нашого кораблика далі ми розміщуємо потрібні нам для функціонування змінні:

ну ось і кінець першої частини ,можна компілювати наш обрубок і дивитися на наявність помилок Повторюся ,пост не ставить за мету вас навчити ,я просто веду маленьких щоденок своєї милищної розробки і майже використовую матеріали з відкритих ресурсів якщо отримаю хоч невеликий позитивний відгук викладу наступну частину завтра.
Приймаю тапочки на кривизну мого коду, я знаю що можу помилятися в багатьох місцях і буду вдячний якщо ви виправите мої недоліки)