在java的战舰游戏建议

时间:2013-08-19 08:28:10

标签: java swing sockets user-interface

目前我正在尝试用java创建一个战舰游戏。两个玩家连接到服务器,放置船只并开始游戏。我创建了一个服务器和一个客户端。我不知道如何将一名球员的投篮坐标从一名球员转移到另一名球员。船舶坐标存储在客户端的列表中。哪个是玩家沟通的最佳解决方案?也许玩家船舶坐标应该发送到服务器,第二个玩家将在服务器上检查它们?或者我应该留下玩家发送给另一个玩家坐标并获得结果的想法?也许有人会有更好的主意。

3 个答案:

答案 0 :(得分:2)

如果您不希望别人作弊,请将所有坐标数据保存在服务器上。客户端请求来自服务器的坐标数据。

您的客户端向服务器发送消息,服务器提供响应。这是你作为玩家知道服务器仍然连接的唯一方式。

消息内容和响应内容由您决定。

答案 1 :(得分:2)

启动时,将ship-coords发送到服务器。 (不要将它们存储在客户端上。战舰游戏不需要超快速,所以如果它在服务器上则更好。)然后,让服务器向应该开始的客户端发送“轮到你”的包。 。客户选择拍摄地点,将其转移到服务器。服务器检查船舶或水,并将此数据发送给两个客户。下一个转包,依此类推......

希望有所帮助:)

PS:我会使用KryoNet库!https://code.google.com/p/kryonet/

答案 2 :(得分:1)

你现在用什么来沟通?既然您使用socket调试了我的问题,我猜您使用的是普通的ip套接字。也许你看看ar RMI。它很容易设置,你可以像普通的java调用一样使用它。

这样更新玩家的镜头只需要调用方法。