我正在尝试使用firebase(用于实时配对)在Android中实现双人游戏。
在firebase上,我已经设置了一个代表活跃玩家的节点。在每个客户端上我都有一个childEventListener来监听玩家节点上的任何变化。
假设
然后,在客户端 1. 4个玩家中的每一个都将通过childEventListener获得有关节点变化的通知。
现在,我想要实现的是“独特的配对”,即我应该能够从这4个玩家中产生2对。 (当然,一个玩家不能同时成对)
我已编写代码将两个玩家配对在交易区块中,这样就不会有两个玩家与同一个玩家配对。
import sys
sys.path.append("Macintosh HD/Library/Python/2.7/site-packages")
import beautifulsoup4
我的DOUBT
请注意,在Doubt2中,我没有注意两个玩家尝试与同一个玩家配对的情况。 (因为事务块将确保它不会发生,我想:/)。
答案 0 :(得分:0)
您要做的事情很难正确安全地完成。让后端服务进行这种匹配更好,这样客户就不必知道如何以某种方式达成一致。
您可以使用Cloud Functions for Firebase编写一个响应数据库更改的database trigger。一种策略是客户端将数据推送到数据库中的某个位置,以指示其匹配的 intent 。然后,当一个函数触发这些写操作时,它可以检查是否有其他合适的玩家匹配,并将更多数据写入数据库以设置游戏。客户还需要一种方法来监听匹配后启动的游戏。这仍然是非常重要的,但比将逻辑放在客户端要容易得多。