3

我想设计一个在客户端和 Java 套接字服务器中使用 Flash 的 PvP 游戏,但我确实需要服务器验证轨迹以及子弹是否因作弊而击中目标。

是否有任何教程或论文提供如何做到这一点?

4

4 回答 4

4

为此,您需要有一个服务器端逻辑。

主要是您将使用客户端来显示服务器发送的游戏状态(如果您愿意,您还可以让您的客户端显示他们认为正确的任何内容,直到接收到新的游戏状态并与之同步)并将仅发送到服务器的操作发送到服务器完成(点击或按键),而您的服务器应该处理其他所有事情..

客户应该主要是世界代表的前端。

于 2010-04-18T16:12:49.583 回答
3

不可吃的多人游戏的总体思路是:

您应该只发送用户按下的键,服务器存储它,并在一段时间后处理信息并发送游戏中所有对象当前位置的快照。

也许如果你不想浪费太多的网络流量:

您可以将所有内容的位置保存 2 秒,记录最后一个用户输入(通过输入,他也可能发送他的最后一个快照 id),然后只发送与现在位置不同的内容以及用户拥有的内容。

于 2010-04-18T16:36:21.343 回答
2

由于您要求提供模式,我假设您了解要在服务器端编写的逻辑类型,但不确定如何组织代码。您应该查看一次策略模式 ( http://en.wikipedia.org/wiki/Strategy_pattern )。由于在此问题中基于屏幕上的各个位置,您需要更改服务器验证数据的方式,因此策略模式非常适合该问题。

于 2010-04-18T16:19:31.700 回答
1

@Jack:+1,您实际上不应该在服务器上进行体育锻炼,服务器只需检查起点,终点,范围和时间等......如果它们是合理的!

于 2010-04-19T17:20:37.177 回答