В - Разработка программы на языке C++, реализующей игру "Морской бой"
ИСХОДНЫЙ КОД ЛИСТИНГА
В данной программе четко прослеживаются группы функций, которые из-за выполняемых ними операций стоит объединить в классы. Проанализировав предметную область программы можно выделить следующие классы:
Ь Flot
Ь AI
Ь Referee
Ь HandersOfEvents
Класс Flot - класс, который содержит данные о кораблях (количество кораблей, поле на котором следует размещать корабли и т. д.);
Класс AI - так называемый класс искусственного интеллекта, размещает корабли противника;
Класс Referee - наследник класса AI, который проверяет состояние кораблей и флотов пользователя и компьютера;
Класс HandersOfEvents - наследник класса Referee. Это единственный класс в данной программе, который взаимодействует с формой напрямую.
Также в программе используется структура Ship, которая содержит данные о количестве палуб корабля, расположении частей корабля, следит за состоянием корабля в целом.
// классFlot
ClassFlot
{
Public:
Int i, j, n; // переменные, используемые в циклах
Booldestroy; // флаг, проверяющий наличие флота
TImage *Im; // поле, на котором мы рисуем
Ship ship[10]; // количество кораблей
Flot (TImage *I)
{
Destroy = false;
Im = I;
N = 1;
For (i = 0; i< 10; i++)
{
If (i< 6) n = 2;
If (i< 3) n = 3;
If (i == 0) n = 4;
Ship[i].destroy = false;
Ship[i].col_deck = n;
Ship[i].decks = new bool[n];
Ship[i].desp_of_part = new TPoint[n];
}
}
IntGetStatus();
};
// класс AI
Class AI
{
Public:
Int Generation (Flot *CPU, intcol_ship, intcol_deck); // размещение кораблей противника
};
// класс Referee
Class Referee: public AI
{
Public:
Inti, j, target_player, target_CPU;
Bool net1 [10] [10], net2 [10] [10], game_over;
Flot *player, *CPU;
Referee()
{
For (i = 0; i< 10; i++)
For (j = 0; j < 10; j++)
{
Net1 [i] [j] = true;
Net2 [i] [j] = true;
}
Game_over = false;
Target_player = 0;
Target_CPU = 0;
}
IntGoChecking (int x, int y, int n); // запускфункциипроверки
IntCheck (boolnet[10] [10], int x, int y); // проверка попадания в старую или новую ячейку
IntGoScaning (int x, int y, int n); // запуск функции сканирования
IntScan (Flot *fl, int x, int y); // сканирование (проверка) попадания в корабль
IntMiss (int x, int y, int n); // отмечание ячейки в которую попали (но не в корабль)
IntEndRaund (int n); // конецигры
};
// классHandlersOfEvents
ClassHandlersOfEvents: public Referee
{
Public:
Bool play;
Intcol_deck, col_ship, i, j, k;
HandlersOfEvents (TImage *Im1, TImage *Im2)
{
Play = false;
Col_deck = 4; col_ship = 1;
Player = new Flot(Im1);
CPU = new Flot(Im2);
}
Int Play (TImage *Im1, TImage *Im2);
Int Move();
IntDesposition (int x, int y, TMouseButton Button); // размещениекораблей
Int Draw (String key, int x, int y, int n); // рисование
IntShootPlayer (int x, int y, int n); // выстрелигрока
IntShoot (int x, int y); // выстрел компьютера
};
// структура Ship
StructShip
{
Booldestroy; // флаг уничтожения корабля
Intcol_deck; // количество палуб
Bool *decks; // массив палуб
TPoint *desp_of_part; // расположение частей (палуб) корабля
};
Похожие статьи
-
А - Разработка программы на языке C++, реализующей игру "Морской бой"
ТЕКСТ ПРОГРАММЫ Текст программы состоит из следующих модулей: UShipBattle. h, UShipBattle. cpp, ShipBattle. cpp ShipBattle. cpp // - #include <vcl. h>...
-
С целью более удобного проектирования, настройки, и разделения отдельных исполняемых операций, программа построена на классах, которые взаимодействуют...
-
ВВЕДЕНИЕ - Разработка программы на языке C++, реализующей игру "Морской бой"
Данная курсовая работа направлена на изучение принципов объектно-ориентированного программирования. Разработать программу на языке C++, реализующую игру...
-
ЗАКЛЮЧЕНИЕ - Разработка программы на языке C++, реализующей игру "Морской бой"
В данной курсовой работе была разработана игра "Морской бой". В программе использовались классы, наследование, виртуальные методы. В качестве языка...
-
Тестирование, Анализ работы - Разработка программы на языке C++, реализующей игру "Морской бой"
Чтобы проверить корректность работы программы нужно провести тестирование. Бой с противником продолжается до полной победы, т. е. пока не будут...
-
Описание программы, Техническое описание программы - Разработка игры "Морской бой"
Запуск программы осуществляется следующим образом: необходимо открыть папку, содержащую данную игру, и найти исполняемый файл Battleship. exe . После...
-
Описание предметной области Предметная область данного проекта - игра "Морской бой". Она реализуется с помощью нажатий на клавиши мыши (размещение...
-
Требования к программе, Описание задания, Описание игры и ее правил - Разработка игры "Морской бой"
Данная программа предназначена для работы под управлением операционных систем Windows 98, Windows ME, Windows 2000, Windows XP, Windows 7. Для корректной...
-
Синтаксис объявления класса в языке С++ имеет следующий вид: Class<имя класса>: <спецификатор доступа><имя базового класса> { Элементы класса...
-
ClassBase_Korabl {:Color;:_Korabl();Prorisovka(short x, short y); } В этом листинге в производном классе был переопределен метод Prorisovka() для...
-
Проектирование класса - Разработка программы на языке C++, реализующей игру "Морской бой"
В данной курсовой работе были созданы следующие классы: Kletka - класс клетка: Свойства: - Pustaya_kletka - пустая или не пустая клетка, - Vistrel -...
-
Выбор языка программирования Язык С++ является в настоящее время наиболее распространенным и перспективным языком промышленного программирования. Он...
-
Заключение, Список используемой литературы - Разработка игры "Морской бой"
Игровое приложение предназначено для людей любого возраста. Игра не требует особых умственных способностей, определенного умственного развития, программа...
-
Введение, Язык программирования - Разработка игры "Морской бой"
Игра интерфейс компьютерный приложение Стремительное развитие компьютерной техники в последние годы, появление мощнейших графических ускорителей и...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Описание средств разработки, Разработка приложения, Описание программы - Разработка компьютерных игр
При реализации поставленной задачи были освоены компоненты графического движка Unity 3d. 1) Интерфейс графического движка Unity 3D, необходимого для...
-
Расчет равновесия по Нэшу - Программа построения равновесных стратегий для игры
В рамках данной ВКР была создана программа для расчета равновесных стратегий с помощью метода фиктивного разыгрывания. Благодаря использованию...
-
Капиталовложение, связанные с работой ЭВМ, рассчитывается по формуле: КВЭвм = СЭвм + ЗТ + ЗЗч + ЗМ, (8) Где СЭвм - стоимость ЭВМ (руб.); ЗТ - стоимость...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Дальнейшим развитием локальных средств разработки программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Введение - Программа построения равновесных стратегий для игры
Игра стратегия математический С появлением компьютеров широкое развитие получила тема искусственного интеллекта. Одним из направлений искусственного...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Назначение разработки - Разработка компьютерных игр
Разрабатываемые компоненты клиентской части игры "Robot's craft", предназначены для реализации и исполнения части игрового процесса. Который происходит в...
-
Организационная структура предприятия - Разработка компьютерных игр
Компания "Awesomatic games" занимается разработкой компьютерных игр с 2007 года. Первым самым успешным проектом компании была игра "Klanz", которая...
-
Цель работы - Разработка компилятора подмножества языка Паскаль на язык Ассемблера
Изучение составных частей, основных принципов построения и функционирования компиляторов. Создание компилятора с заданного подмножества языка Паскаль с...
-
Формулировка задания: Составьте программу подсчета числа тех гласных букв в слове X, что не используются в написании слова Z. Описание входных/выходных и...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Тестирование и отладка программы - Разработка электронного учебного пособия "VBA. Решение задач"
Процесс отладки является неотъемлемой частью создания любой программы. При программировании могут быть допущены ошибки, которые принадлежат к одному из...
-
Общие сведения о программе Программа разработана для демонстрации возможностей языка C++ и может использоваться для пользователей, которые не знакомы с...
-
В программе присутствуют следующие основные модули: - PlatformManager - DeviceManager - ScenariosManager - ScenarioEngine - ExportManager - ImportManager...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Расчет затрат на разработку программы Суммарные затраты на разработку программы рассчитываются по следующей формуле: ЗРп = ЗЗп + ЗНак,(1) Где ЗЗп -...
-
При начале разработки после выбора технологического стэка необходимо определить сущности, с набором свойств, которые будут использоваться при дальнейшей...
-
В данном разделе выпускной квалификационной работы описывается процесс разработки программы извлечения КП текста, а также производится оценка качества ее...
-
Полученное по вышеприведенным формулам значение угла сравнивается с заданными величинами запуска и остановки. Программа обеспечивает запуск сканирования...
-
Лингвистический процессор GATE GATE представляет собой инфраструктуру для разработки и развертывания компонентов программного обеспечения, которые...
В - Разработка программы на языке C++, реализующей игру "Морской бой"