Курсовая работа: Разработать программу, моделирующую игру Морской бой
При нажатии правой клавиши мыши происходит ротация корабля, проверка на ротацию происходит перед движением мыши.
Расстановка корабля происходит по нажатии левой клавиши мыши на поле игрока.
Процедура nash
Расстановка происходит лишь в том случае если расстанавливаемый корабль не выходит за рамки поля, не пересекается и не соприкасается не с одним из расстанавливаемых кораблей.
Также каждый из кораблей расстанавливается в зависимости от количества его палуб, т.е. четырехпалубный – один, трехпалубных – два, двухпалубных – три, однопалубных – четыре.
При этом ячейке матрицы поля игрока присваивается значение «2». После каждого нажатия происходит прорисовка поля игрока, для этого каждая ячейка с цифрой «2» закрашивается серым.
После того как все корабли расставлены (k11<0) начинается обмен выстрелами с компьютером.
Процедура vistrel.
Выстрел производится при нажатии на одну из клеток поля компьютера. Если ячейка имеет значение «0»(пустая клетка) то ячейке присваивается значение «3», ячейка имеет значение «2» то ячейке присваивается значение «4».
Затем происходит прорисовка поля компьютера. Клетка которой соответствует ячейка со значением «3» рисуется маленький квадрат, клетка которой соответствует ячейка со значением «4» проверяется ранен или убит корабль если убит то рисуется красный квадрат, если ранен то рисуется серый квадрат перечеркнутый красным крестом.
После происходит проверка выиграл ли игрок или нет, для этого матрица компьютера сканируется и если не находится ни одной ячейки со значением «2» то выходит сообщение –
«Поздравляю! Вы победили.»
Если не находится то проверяется если игрок опал в ячейку со значением «2» то ему предоставляется ещё один выстрел, и т. д. пока игрок не попадет в ячейку со значением «0».
Тогда наступает очередь хода компьютера.
Компьютер выбирает произвольную клетку из поля игрока и если её значение равно «0» то значение становится равным «3», если значение равно «2» от значение клетки становится равным «4».
Затем происходит прорисовка поля компьютера. Клетка, которой соответствует ячейка со значением «3» рисуется маленький квадрат, клетка, которой соответствует ячейка со значением «4» проверяется, ранен или убит корабль, если убит то, рисуется красный квадрат, если ранен то, рисуется серый квадрат, перечеркнутый красным крестом.
Компьютер стреляет, до тех пор пека не попадет, в клетку со значением «0».
После происходит проверка проиграл ли игрок или нет, для этого матрица игрока сканируется и если не находится ни одной ячейки со значением «2» то выходит сообщение –
«Вы проиграли.
Попробуйте ещёраз!»
Более подробно смотрите исходный текст программы Приложение 1.
2.3 Реализация справочной информации
Справочная информация (правила игры) реализована с помощью программы MicrosoftHelpWorkshop. Эта программа позволяет создать файл справочной информации для Windows, используя текст формата RichEditText. В процессе работы этой программы создается файл проекта справки *.hpj, который впоследствии может быть откомпилирован в файл справки (*.hlp).
В данной курсовой работе был создан файл проекта справки morb.hpj, который был откомпилирован с помощью программы MicrosoftHelpWorkShop в файл morb.hlp (рисунок 3).
Более подробно описано в приложении Б.
2.4 Описание пользовательского интерфейса
Игра – Новая игра (горячая клавиша F2) – начать новую игру после окончания.
Игра – Выход – выход из программы.
Помощь – Справка (горячая клавиша F1) – Вызов справки.
Помощь – О программе – Короткая информация о программе.
Заключение
Hадо отметить, что к моменту выхода продукта обстановка вокруг компании Borland складывалась не лучшим для нее образом. Поговаривали о возможной перепродаже компании, курс акций компании неудержимо катился вниз. Компилятор, встроенный в Delphi , обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.