防止退出PHP中的不完整战斗

时间:2019-07-14 18:06:55

标签: php

我正在用纯PHP制作基于文本的游戏(基于回合)。但是我有一个问题。假设我要与一个怪物战斗。当我进入第9轮并且快要死时,如果我决定关闭浏览器,就会出现问题。当我再次进入该网站时,我将再次进入主页,但我还没有死。我怎么知道用户是否关闭浏览器?我想在战斗中关闭浏览器时删除他/她的帐户。谢谢阅读。我不需要代码。我只需要一个解释清楚的建议即可。

2 个答案:

答案 0 :(得分:0)

这可能有帮助。当用户开始与$ _SESSION [$ userid] = $ userid战斗时设置会话;如果健康状况发生变化,则更新数据库。说10个健康点从30下降到20,您将数据库更新为20,还剩下战斗时间(以秒为单位),例如60秒...如果用户关闭浏览器会话丢失,则可以检查。会话已存在,健康状况不到20秒,剩余时间超过30秒...希望有帮助

答案 1 :(得分:0)

如果这是游戏的组成部分,那么我建议您调查WebSocket,并保持服务器的“心跳”。如果WebSocket断开连接,即浏览器窗口关闭,则服务器可以删除/停用该帐户。

请注意,这也可能会导致客户端和服务器端的连接中断。如果用户连接断开,就好像浏览器已关闭,服务器断开连接一样,如果单独使用此方法,所有播放器都会有效地丢失其帐户。

然后,您可以结合使用SessionWebSocket来识别连接断开和浏览器关闭。