Similar presentations:
Разработка консольной игры «Морской бой»
1. Тема: Разработка консольной игры «Морской бой»
ТЕМА: РАЗРАБОТКАКОНСОЛЬНОЙ ИГРЫ
«МОРСКОЙ БОЙ»
Авторы: Жилин Александр
Группа: ИсиП 8б-22
Учебное заведение: Красноярский филиал Финуниверситета
Год: 2025
2. Техническое задание
ТЕХНИЧЕСКОЕ ЗАДАНИЕЦель игры: Реализация классической логической игры между
пользователем и компьютером на поле 4×4.
Функциональные требования:
Генерация кораблей (1 однопалубный, 1 двухпалубный).
Ввод координат выстрела (X, Y).
Проверка попаданий и отображение поля.
Завершение игры при победе.
Нефункциональные требования:
Платформа: Windows, Linux, macOS (консоль).
Язык: C++ (стандарт C++11 или выше).
Время отклика: ≤ 0,1 сек.
3. Описание процедур
ОПИСАНИЕ ПРОЦЕДУРinitGrid()
placeShip(int size)
Обработка выстрела игрока.
isGameOver()
Отрисовка игрового поля.
shoot(int x, int y)
Настройка начального расположения кораблей.
printGrid(bool showShips)
Размещение кораблей на поле.
setupShips()
Инициализация игрового поля.
Проверка завершения игры.
main()
Главный цикл игры.
4.
БЛОК-СХЕМЫ ПРОЦЕДУРБлок-схема void display
5. Блок-схемы процедур
БЛОК-СХЕМЫ ПРОЦЕДУРБлок-схема bool placeShip
6.
БЛОК-СХЕМЫ ПРОЦЕДУРБлок-схема bool attack
7.
БЛОК-СХЕМЫ ПРОЦЕДУРБлок-схема boolShipLeft
8.
БЛОК-СХЕМЫ ПРОЦЕДУРБлок-схема placeShipsRandomly
9.
БЛОК-СХЕМЫ ПРОЦЕДУРБлок-схема intmain
10.
ТАБЛИЦА ОШИБОК И ИХ РЕШЕНИЙОшибка
Причина
Решение
Игра не
компилируется
Несовместимость
версий Dev-C++
Обновление до DevC++ 6.3
Лаги при движении
метеоритов
Высокая частота
обновления
Добавление
задержки
(Sleep(100))
Некорректное
Ошибка в цикле
отображение границ отрисовки
Исправление
условий в Draw()
11.
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯЗапуск игры:
Откройте консоль.
Перейдите в папку с игрой.
Запустите исполняемый файл sea_battle.exe.
Управление:
Ввод координат в формате X Y (например, 1 2)
Цель: Потопить все корабли противника.
12.
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯЦель игры:
Потопить все корабли противника.
Пример экрана:
13.
ЗАКЛЮЧЕНИЕМорской бой» — это классическая консольная игра, разработанная для
изучения основ программирования и алгоритмов.
Ключевые особенности:
✔ Простота и логичность — минималистичный дизайн и понятные правила.
✔ Гибкость — возможность расширения (увеличение поля, добавление
новых режимов).
✔ Учебная ценность — демонстрация работы с массивами, циклами и
условиями.
software