Имитация удаленного движения робота

Я работаю над заданием, которое дал мой преподаватель, где он показал мне демонстрационный проект, разработанный с использованием Java, но у меня нет никакого опыта в Java, но у меня мало опыта в C#, и я должен выполнить данное требование, такое как

  1. Использование сокетов
  2. Протокол связи клиент / сервер

Сценарий: необходимо создать мир роботов с неизвестными объектами, которые робот собирается исследовать. так что я знаю, что это будет своего рода анимация, такая как 2d игры, где я могу разрабатывать с использованием Microsoft XNA и разрабатывать интерфейс дистанционного управления с C# и передавать значение параметра с помощью технологии System.Net.Sockets для перемещения робота.

Примечание: я знаю, что есть ограничения при использовании System.Net.Sockets в Xbox, но этот проект будет использоваться только на ПК.

Мой вопрос: есть ли у кого-нибудь идея или комментарий по поводу моего назначения, возможно ли это или нет. Если это возможно, пожалуйста, направьте меня с руководством. Если это невозможно, пожалуйста, ознакомьте меня с технологией, где я могу выполнить свое задание, например, с другой средой программирования или инструментом????

1 ответ

Решение

Возможно.

Я бы предложил разбить проблему на несколько отдельных частей.

Симуляция - это чисто симуляция положения робота и окружающей его среды. С этой задачей полностью игнорируйте все, что связано с графикой. Сосредоточьтесь только на математике. Например, если мой робот здесь и там есть камень, то касается ли мой робот камня? Поскольку это 2D-приложение, вы можете избежать множества предположений и упрощений. Например, робот и камни могут быть смоделированы с помощью квадратов или кругов.

(С кругами особенно легко иметь дело, поскольку в основном это просто проверка того, что расстояние между центром робота и центром скалы достаточно велико.)

Сеть - создайте два простых консольных приложения и заставьте их общаться через API сокетов. Как только вы это заработаете, интеграция в игру XNA станет более очевидной.

Пользовательский интерфейс - это то, где вы можете (наконец) сосредоточиться на графике и пользовательском вводе. Похоже, что этого можно добиться с помощью обычных вызовов рисования Spritebatch и методов чтения ввода (таких как клавиатура, мышь или GamePad).

Другие вопросы по тегам