从数据库中选择用户的算法(对于在线双人游戏)

时间:2016-09-24 09:26:55

标签: mysql database algorithm

如果我们假设在线双人游戏。 数据库(用户表)中有一个表格,列 id 名称级别 ...

当用户点击某个按钮时,它必须搜索具有相似级别的其他用户(同时点击按钮进行搜索)并连接这些用户并开始游戏。

我想要的是连接两个在点击按钮时搜索一个玩家的算法的算法。

如果有任何人可以提供PHP代码,那很容易。

1 个答案:

答案 0 :(得分:2)

让我给你一个想法。如果您发现任何不符合您要求的内容,请分享您的想法

Player's table:
**id   name level status**
1      1    1     idle
2      2    3     playing
3      3    1     idle
4      4    3     playing
5      5    1     idle

第1步: 只有空闲的玩家才能搜索玩家。说播放器:1按下搜索按钮。 然后玩家:1的状态将被搜索。但它没有找到任何东西,因为没有其他身体处于搜索状态和相同状态(搜索)。

从客户端发送异步请求,该请求将通过php get / post请求定期查找播放器。

对任何按下搜索的玩家重复此操作。

步骤2:异步(例如,javascript ajax)请求将请求php查看数据库以匹配条件。当发现时,服务器(php结束)将播放器1和5的状态改为播放并在游戏桌中写入一行。并返回游戏ID作为对javascript请求的响应。

game table:
**id playerOneId playerTwoId pLayerOneStatus  pLayerTwoStatus status**    
1    1            5          ready            ready          started  

步骤-3: 当异步请求获得游戏ID作为响应时,它会将玩家重定向到游戏页面。并将播放器状态设置为就绪。

步骤-4: 两个球员都处于准备状态的那一刻。游戏将开始。

步骤-5: 一旦游戏结束,玩家的桌面状态就会变为空闲状态。 将游戏状态更改为结束

让我知道它是否适用于你的问题。