Курсовая работа: Программа "Морской бой"
Чтобы проверить корректность работы программы нужно провести тестирование. Бой с противником продолжается до полной победы, т.е. пока не будут уничтожены все 10 кораблей одного из противников.
Если первым свои корабли потерял компьютер, игроку выводится сообщение о победе
Рис. 7. Сообщение о победе
Если первым свои корабли потерял игрок, ему выводится сообщение о проигрыше
Рис. 8. Сообщение о проигрыше
В начале игры выводится приглашение к расстановке кораблей:
Рис. 9. Расстановка кораблей
Если игрок выполнил недопустимое действие (например, попытался «наложить» корабль на корабль) ему будет выведено предупреждающее сообщение о его ошибке.
Если расстановка кораблей закончилась выводится приглашение к началу игры
Рис. 10. Начало игры
В случае промаха игроку выводится сообщение о промахе
Рис. 11. Сообщение о промахе
В случае попадания игроку выводится сообщение о попадании
Рис. 12 Сообщение о попадании
В случае попадания в ячейку, которая уже обстреляна, игроку выводится сообщение с предложением выстрелить ещё раз
Рис. 13. Сообщение о выстреле в обстрелянную ячейку
Анализ работы
В процессе выполнения данного курсового проекта были закреплены знания по использованию классов и использованию основ объектно-ориентированного программирования.
Конец игры предусмотрен в двух случаях: победа пользователя или победа компьютера. Также в процессе написания программы были рассмотрены все варианты некорректной работы программы, например: не размещает ли компьютер и пользователь корабли в соседних клетках, не ставит ли он корабли только в углах игрового поля, не накладываются ли корабли один на другой. Также проверяется соответствие количества кораблей и палуб на них (1 четырехпалубный, 2 трехпалубных, 3 двухпалубных, 1 однопалубных). Все вышеописанные неполадки были обнаружены и успешно устранены.
Во время написания программы я получил навыки по использованию некоторых, ранее не использованных мной, компонентов среды программирования С++ Builder 6.
Также при написании данного курсового проекта я закрепил свои знания в области написания объектно-ориентированных программ, содержащих взаимодействующие классы. Были получены новые знания о создании классов и работе с ними. Благодаря работе над программой были закреплены знания распределения обязанностей между классами.