Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL中的游戏大厅_Php_Mysql - Fatal编程技术网

PHP/MySQL中的游戏大厅

PHP/MySQL中的游戏大厅,php,mysql,Php,Mysql,我正在各种移动平台上创建一个移动游戏,并决定使用PHP/MySQL作为后端,通过JSON与之通信。(游戏将基于文本) 我对如何实现这一点缺乏想法,我追求的逻辑如下 用户将需要注册一个帐户 用户将进入游戏大厅寻找一个开放的插槽 如果有合适的游戏准备就绪并等待(未满并等待新玩家),则加入 如果没有,创建一个新游戏并等待玩家 我想每场比赛有20名球员,只有在有3名或更多球员等待时才允许比赛开始。当有3名或3名以上的玩家等待时,会有一个倒计时,比如说60秒,直到比赛开始 现在我知道有些可能需要在客户

我正在各种移动平台上创建一个移动游戏,并决定使用PHP/MySQL作为后端,通过JSON与之通信。(游戏将基于文本)

我对如何实现这一点缺乏想法,我追求的逻辑如下

  • 用户将需要注册一个帐户
  • 用户将进入游戏大厅寻找一个开放的插槽
  • 如果有合适的游戏准备就绪并等待(未满并等待新玩家),则加入
  • 如果没有,创建一个新游戏并等待玩家
我想每场比赛有20名球员,只有在有3名或更多球员等待时才允许比赛开始。当有3名或3名以上的玩家等待时,会有一个倒计时,比如说60秒,直到比赛开始

现在我知道有些可能需要在客户端完成。我正挣扎着从哪里开始!!因此,任何有帮助的想法、代码示例或阅读材料链接都将不胜感激。
谢谢

对于注册用户,您只需要一个表单并将该表单保存在数据库中即可。当用户登录时,您将查询与密码和用户名匹配的数据库。

根据评论,我猜您正在寻找关于数据库模式的一些想法,就像Brad Christie建议的那样。所以我要从这个开始

首先,你需要一张球员的桌子。我猜您已经有了其中的一个,但是您可能希望为它们所在的游戏ID包含一个字段

下一步,你需要一张游戏桌。这是您存储游戏本身信息的地方,包括它是否处于活动状态。要获得玩家数量,您只需查询具有该游戏ID的玩家列表。您还可以跟踪玩家数量,并在玩家离开或加入游戏时根据几个因素进行更新

现在,游戏本身。这里的确切方法实际上取决于您希望它如何工作。您可以使用AJAX来保持当前活动游戏的最新列表(并设置某种聊天系统,让玩家在等待时聊天),也可以使用游戏大厅作为路由页面。如果您选择后一种方式,则查询活动游戏,自动将玩家转储到符合您条件的游戏中,然后将用户发送到“游戏主页”


希望这将给你一个关于如何开始的坚实的轮廓。除非我对您的要求有更多的了解,否则恐怕我帮不了您更多。

重要提示:所有这些(就限制而言)都不应在客户端执行(客户端很容易受到干扰)。服务器应该处理任何阈值或限制,而客户端只是重新确认/遵循。当然,除非你不太在意——请注意接受率(包括评分或回答过去的答案)。@BradChristie:呃,过去的编辑阈值:过去的问题*谢谢你提醒我回答过去的问题,我已经完全忘记了,还有一些好的答案!谢谢你的意见!你到底有什么问题?这里有很多你想要的,而真正实现你所计划的一切的代码将是漫长的、复杂的,并且被分割成多个文件。我不是在追求代码,我只是不知道从哪里开始!!我不能理解的是每一场比赛的逻辑。i、 游戏等待玩家,当游戏满了,创建一个新游戏等等。嗨,谢谢你的回复。我已经能够做认证方面的事情了,这更多的是我所追求的其他逻辑。这正是我想要的答案!我下班回家后会更详细地回答。谢谢