我正在构建一个在线多人棋盘游戏,并且我有一个创建新棋盘的功能。我需要在每一轮之后都这样做,但我似乎无法让它对所有用户只执行一次。当计时器到达 0 时,我在游戏所在的页面上调用该函数,因此它会为该页面上的每个用户执行。
因此,该函数生成一个新棋盘的次数与当时玩游戏的用户一样多,但我希望它只生成一个棋盘。
所以,我的问题是如何让 PHP 函数只执行一次,而不是打开页面的次数?
在系统上编辑:用户玩 90 秒,然后他们等待 15 秒,同时看到回合结果,然后整个事情一次又一次地重复。如果您在回合中间进入页面,您可以选择等到新回合开始或立即进入该回合。所以我不知道在哪里调用该函数。我尝试在显示结果的暂停菜单开始时调用它,但它只是为所有用户执行该功能。它仍然有效,因为在所有执行结束时我仍然得到一个板,但这是不对的,特别是如果有被数百人玩,棋盘会产生数百次。而且,生成该板的是一个 c++ .exe,它在服务器上创建一个 XML。我从 PHP 执行该 exe 并做一些额外的事情。
我不知道在哪里调用该函数。如您所说,我如何预渲染董事会?该功能仍然必须位于某个用户必须访问才能执行的页面上。真是令人难以置信。
而且我还尝试在数据库中添加信息以查看之前是否调用过该函数,但它仍然同时发生在所有用户身上。