Так что я просто хотел получить некоторые мнения о общей структуре игры, которую я должен построить для класса программирования.C CLI концепция игры
По существу - я строю две программы - клиент и сервер для игры с линкорами. Я уже написал реальную программу, которая играет в игру линкоров. Программа, которую я написал, - это место, где считывается карта и файл правил, и пользователь пытается угадать местоположение кораблей, пока они не погружат все корабли.
Для этой новой программы - серверу разрешено группировать двух человек друг против друга с помощью игры с линкорами. Клиенты подключаются к игре с использованием имени игры, и как только игра получит двух клиентов, она может начинаться. Мы должны использовать TCP на локальном компьютере для связи между сервером и клиентами, а также потоки, по крайней мере, на сервере.
Вот что я имел в виду ..
После того, как клиент присоединяется - проверить, в какую игру они хотят подключиться. Если это новая игра - создайте новый поток для этой игры и дайте дескриптор сокета для первого клиента. В противном случае, если в игре уже есть один человек, сообщите игровому потоку нового участника, и он может начать игру.
Когда игра началась - игровой поток должен был бы порождать еще два потока. Один экземпляр игры с линкором для каждого игрока. Экземпляром для каждого игрока будет место, где размещаются их корабли. Затем поток будет прослушивать ввод от каждого клиента по очереди и передавать эту информацию в соответствующую игру.
Правильно ли эта интерпретация? Что мне понадобится 3 потока за ход игры? А также, можно ли использовать exec() в потоке для запуска нового экземпляра боевых кораблей, а затем передать информацию в stdin этого экземпляра с помощью потоков (и получить stdout)?
Пожалуйста, дайте мне знать, если я был туман на все, и я уточню. Большое спасибо за любую помощь!
Это не вопрос. –
@Tadeusz A. Kadlubowski: Это куча размытых вопросов, но они определенно * настоящие *. – ereOn
извините, на самом деле не думал об окончательном вопросе. мы могли бы просто сказать, что мой вопрос: действительно ли моя интерпретация или какие-то проблемы? – Gary