1

我试图弄清楚使用 Java RMI 实现“Hearts”多人游戏的最佳实践是什么。

到目前为止,这是我的想法:

  • 一个远程接口,带有玩家请求的常见任务的方法(为每个玩家发牌、将牌传给其他玩家、打牌等)。

  • 服务器将包含 4 个 Player 对象,其中包含他们的牌、当前效果(追求 2 个梅花、是否允许在游戏中打红心牌等)和定义当前游戏状态的变量(已经打过的牌、当前花色使用过,如果可以打出心牌等)。

  • 客户端实例将只处理 GUI(根据远程方法调用提供的结果进行更改)

我仍然不知道的是:

  • 玩家打出一张牌后,我如何有效地与其他客户端通信以在操作完成后立即更新他们的 GUI?(我只发现客户端调用服务器做某事的例子,而不是相反)

  • 我也应该将每个 Player 对象都实现为远程对象吗?还是只是将常规对象放入服务器实例?

  • 是否可以使用线程控制每个客户端状态(播放、等待其他玩家、回合结束……)?如果是这样,我该怎么做?

  • 也欢迎任何关于如何更好地应用程序结构的建议。

4

0 回答 0