gpt4 book ai didi

Javascript 游戏/服务器通信/答案验证

转载 作者:行者123 更新时间:2023-11-28 02:57:46 25 4
gpt4 key购买 nike

我有一个类似测验的 JavaScript 游戏,它应该是快节奏的。用户需要在短时间内回答尽可能多的问题。他会收到一个是/否问题,答案会发送到服务器,并在服务器上进行验证,并向他显示反馈(正确/不正确)。我使用 Javascript 和 AJAX。

问题是由于服务器上正在进行的验证而导致两个连续问题之间的延迟。这些问题是相互独立的(结果不会改变下一个问题)。我希望用户在回答后立即得到反馈,然后才能看到下一个问题。

目前,我在服务器端验证答案时停止客户端的时钟,并在反馈和下一个问题到达后恢复时钟。我还确保在服务器端,游戏 session 不会超过允许的时间加上合理的网络延迟时间。

我能想到的消除延迟的唯一且明显的解决方案是向客户端发送一批问题以及答案,并在客户端进行验证。这将最大限度地减少与服务器的通信(每个 session 一次)并提供流畅的游戏体验。显然,任何可以读取传入消息的用户都可以创建一个可以自动播放并完美播放的脚本。混淆客户端代码和答案可能会有所帮助并增加编写此类恶意脚本的成本,但这并不能消除坚定的用户创建自己的脚本的可能性。

我的问题有两个。首先,我想确保我没有犯一个巨大的错误,也没有错过这个问题的明显解决方案,该解决方案也可以完美地处理恶意用户。我想理论上不可能提出这样的解决方案,但我没有足够的地方在这里写下证明(!)。

其次,考虑到游戏结束时没有金钱奖励,我不希望任何无聊的程序员来搞乱我的小游戏。不过,我还是想听听您的意见以及在更严重的情况下您的处理策略。

最佳答案

作为热身,我想给出一个我想到的粗略解决方案。

偶尔会在批处理中包含错误的问答组合。您可以检测到自动机器人,因为它应该比真正的玩家更频繁地给出“正确”(实际上是错误的)答案(而且其他问题和这些虚假问题的准确性之间不应该有任何显着差异)。代价是真正的玩家偶尔会发现他们的合法答案被认为是错误的。如果减少此类虚假问题的数量,就会牺牲机器人检测的准确性。

我认为脚本在后续答案之间的时间安排方面就像人类一样,并且它们足够聪明,不会每次都给出正确的答案。不然就太容易了。

关于Javascript 游戏/服务器通信/答案验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com