Реферат: Сетевая игра на Delphi Морской бой
Procedure TForm1.N5Click.
Спецификация подпрограмм главного модуля программы приведена в таблице 1.
Таблица 1 – Спецификация функций модуля Main
Процедура | Назначение |
Procedure TForm1.LoadGame |
Процедура необходима, для создания новой игры, для создания поля игрока и соперника |
Procedure TForm1.SetColorOnShape1 |
Процедура нужна для расстановки кораблей на поле игрока |
Procedure TForm1.SetColorOnShape2 | Процедура выстрела |
Procedure TForm1.EndGame | Процедура для завершения игры |
Procedure TForm1.RecvSock | Процедура для приёма и обработки данных из сокета |
Продолжение таблицы 1
Процедура | Назначение |
Procedure TForm1.SendSock |
Процедура для отправки данных через сокет |
Procedure TForm1.N6Click | Процедура создания сокета и привязки его к порту, делает сокет не блокирующимся |
Procedure TForm1.N7Click | Процедура создания сокета и перевода его в не блокирующееся состояние |
Procedure TForm1.FormDestroy | Процедура для уничтожения сокета после выхода из игры |
Procedure TForm1.N8Click | Процедура создания новой игры |
Procedure TForm1.FormCreate |
Настройка переменных для работы приложения по сети |
Procedure TForm1.N2Click | Процедура выхода |
Procedure TForm1.N4Click | Процедура настройки клиента |
Procedure TForm1.N5Click | Процедура настройки сервера |
Все используемые, в главном модуле Main, переменные описаны в таблице 2.
Таблица 2 – Спецификация переменных
Имя | Назначение | Тип |
Главная программа Main | ||
InetAddr | Структура адреса, соединение сервера | SOCKADDR_IN |
InetAddrOut |
Структура адреса, адрес куда необходимо ответить | SOCKADDR_IN |
sock | Сокет | TSocket |
bPriem |
Переменная для распознавания следующих приходящих данных (может принимать следующие значения: данные не нужны, их обрабатывать не надо, переменная готова для приёма данных, переменная готова для передачи данных) | (prnot, prinout, proutin) |
Pole1 | Массив для создания поля игрока | TShape |
Pole2 | Массив для создания поля противника | TShape |
bShips |
Переменная, ограничивающая количество кораблей, которые можно расставить на игровом поле | Byte |
bShipsPlaced |
Переменная для подсчёта расставленных кораблей | Byte |