【问题标题】:Simulate remote Robot movement模拟远程机器人运动
【发布时间】:2013-02-18 08:20:19
【问题描述】:

我正在完成我的导师给我的一个任务,他向我展示了一个使用 Java 开发的演示项目,但我没有任何 Java 经验,但我在 C# 方面的经验很少,我必须完成给定要求,例如

  1. 使用套接字技术
  2. 客户端/服务器通信协议

场景: 需要用一些未知的物体来设计机器人世界,让机器人去探索。所以我知道这将是某种动画,比如 2d 游戏,我可以使用 microsoft XNA 进行开发,并使用 C# 设计远程控制接口,并使用 System.Net.Sockets 技术传递参数值来移动机器人

注意:我知道在 Xbox 中使用 System.Net.Sockets 时有限制,但这个项目只能在 PC 中使用。

我的问题:是否有人对我的任务有任何想法或评论,无论是否可行。如果可能的话,请给我一些指导。如果不可能,请指导我使用可以完成任务的技术,例如不同的编程环境或工具????

【问题讨论】:

    标签: c# sockets xna client-server system.net.sockets


    【解决方案1】:

    这是可能的。

    我建议将问题分解成几个不同的部分。

    模拟 - 这纯粹是模拟机器人的位置和周围的环境。完全忽略与此任务相关的任何图形。只关注所涉及的数学。例如如果我的机器人在这里,而那边有一块石头,我的机器人会碰到石头吗? 由于它是一个 2D 应用程序,因此您可能能够摆脱很多假设和简化。例如机器人和岩石都可以通过正方形或圆形来模拟。

    (圆特别容易处理,因为它基本上只涉及检查机器人中心和岩石中心之间的距离是否足够大。)

    网络 - 创建两个简单的控制台应用程序并让它们通过套接字 API 进行通信。一旦你完成了这项工作,那么将它集成到 XNA 游戏中就会更加明显。

    UI - 这是您可以(最终)专注于图形和用户输入的地方。这听起来可以通过常规的 Spritebatch 绘制调用和输入读取方法(例如键盘、鼠标或游戏板)来实现。

    【讨论】:

    • 感谢您的建议,我实现了您建议我的方式,但我坚持使用输入阅读方法。我所做的只是从客户端应用程序发送一些值并使用 xna 上的 if 条件来移动精灵(即:如果收到值 8,则向上移动 5px)。但它似乎不流畅和缓慢。我不知道如何使用 socket.net 编写输入读取方法。任何帮助表示赞赏
    猜你喜欢
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多