PHP黑杰克游戏;更新显示

PHP黑杰克游戏;更新显示,php,session,savestate,blackjack,Php,Session,Savestate,Blackjack,我关于stackOverflow的第一个问题!我已经在这里读了很多有用的小道消息,但是还没有找到下面这个问题的有用答案 我用PHP编写了一个21点游戏,作为OO PHP的学习体验。我有一个主对象,其中包含所有卡牌和游戏状态的详细信息,我将其序列化并保存到一个文件中,但是当多人同时玩时,这将导致冲突。我已经查看了会话并将这些数据保存在那里,但不知道是否需要生成特殊会话id等。我该怎么做 另外,对于这个我没有考虑过的问题,可能有一个很好的解决方案。提前谢谢。我要做的就是为这件事使用一个数据库。您不应

我关于stackOverflow的第一个问题!我已经在这里读了很多有用的小道消息,但是还没有找到下面这个问题的有用答案

我用PHP编写了一个21点游戏,作为OO PHP的学习体验。我有一个主对象,其中包含所有卡牌和游戏状态的详细信息,我将其序列化并保存到一个文件中,但是当多人同时玩时,这将导致冲突。我已经查看了会话并将这些数据保存在那里,但不知道是否需要生成特殊会话id等。我该怎么做


另外,对于这个我没有考虑过的问题,可能有一个很好的解决方案。提前谢谢。

我要做的就是为这件事使用一个数据库。您不应该使用会话来保存游戏状态,因为这将要求游戏中的所有玩家拥有相同的数据,因此,您需要复制每个玩家的数据并将其保存在其他玩家的会话中


当您试图从数据库访问数据时,使用会话进行身份验证并知道谁是谁

您是如何测试玩游戏的多人的?您是否刚在浏览器中打开一个新选项卡并连接到同一个站点?还是两个人在不同的电脑上玩这个游戏?手册给出了如何使用会话。我将从其中一个示例开始,并根据需要展开。@user482594:我通过打开两个浏览器进行测试,假设当我连接到服务器时,它将为每个浏览器提供一个唯一的ID,它可以跟踪会话ID。我希望有一种方法可以将一个唯一的会话id绑定到存储的关于每个连接用户的会话数据。但我想那不太可能!我认为会话为每个登录的用户记录了一个独特的信息位,因此使用会话id作为会话名称肯定是有意义的。i、 e.“代码”$mySession\u id=会话\u id$mySaveState=序列化$this->card\u pack$_会话['$mySession_id']=$mySaveState;这应该将我的card_pack对象中的数据保存在此特定用户而不是其他任何人的会话Id名称下。还是我完全误解了会话的工作原理?干杯