使用JavaRMI的多人纸牌游戏(红心)的结构

使用JavaRMI的多人纸牌游戏(红心)的结构,java,rmi,distributed-computing,multiplayer,middleware,Java,Rmi,Distributed Computing,Multiplayer,Middleware,我正试图找出用JavaRMI实现一个红心多人游戏的最佳实践 以下是我目前的想法: 一个远程接口,用于玩家请求的常见任务,为每个玩家发牌、将牌传递给其他玩家、玩一张牌等 服务器将包含4个玩家对象,其中包含他们的牌、追求2个俱乐部的当前效果、允许或不允许在游戏中玩心牌等,以及定义当前游戏状态的变量(已玩的牌、正在使用的当前套装、是否可以玩心牌等) 客户端实例只处理GUI,GUI根据远程方法调用提供的结果进行更改 我仍然不知道的是: 玩家玩完一张牌后,我如何与其他客户端高效地通信,以便在操作完成后立即

我正试图找出用JavaRMI实现一个红心多人游戏的最佳实践

以下是我目前的想法:

一个远程接口,用于玩家请求的常见任务,为每个玩家发牌、将牌传递给其他玩家、玩一张牌等

服务器将包含4个玩家对象,其中包含他们的牌、追求2个俱乐部的当前效果、允许或不允许在游戏中玩心牌等,以及定义当前游戏状态的变量(已玩的牌、正在使用的当前套装、是否可以玩心牌等)

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

我仍然不知道的是:

玩家玩完一张牌后,我如何与其他客户端高效地通信,以便在操作完成后立即更新他们的GUI?我只找到了客户机调用服务器执行某些操作的示例,而不是相反

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

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

任何关于如何改进应用程序结构的建议都是受欢迎的


看看卡乔。使网络部分更简单。