Программирование стратегических игр с DirectX 9.0
bda5893f

Функция vReceiveTurnMessage()


Когда вы ждете получения хода от другого игрока, работает функция приема сообщения о ходе. Она сидит и ждет пока пакет с данными хода не придет по проводам. Как только прибывает пакет, устанавливается флаг хода и отображается кнопка Turn Done. Вот как выглядит код, выполняющий эти задачи:

void vReceiveTurnMessage(void) { char szTurnPacket[32]; intiBytes = 0;

iBytes = recv(g_skClientSocket, szTurnPacket, 32, 0); // Проверка возвращенного кода if(iBytes != SOCKET_ERROR) { } else { vShowText("** ERROR ** Receiving"); return; } // Переключение в режим отправки g_bMyTurn = 1;

// Отображение кнопки Turn Done hBU_TurnDone = CreateWindow( "BUTTON", "Turn Done", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 5, 280, 100, 28, g_hWnd, (HMENU)IDC_hBU_TurnDone, g_hInst, NULL); }

В функции приема я вызываю функцию recv для приема пакета от другого игрока. Как только пакет пришел, код устанавливает флаг хода и создает кнопку Turn Done. Вот и все об отправке и получении пакетов!

В этом разделе я только прикоснулся к поверхности огромной темы программирования многопользовательских игр. Надеюсь, вам хватит предоставленной информации, чтобы хотя бы начать работу над походовой сетевой игрой.

netlib.narod.ru< Назад | Оглавление | Далее >



Содержание раздела