我正在使用firebase构建游戏。在该游戏中,有许多玩家玩的房间。这个游戏我猜它叫做回合制。
因为只有一个玩家可以画画而其他人应该猜测就像一个简单的画画和猜测。
我的问题是我怎样才能实现只有一个玩家能够吸引而其他人猜测。
我的想法是给会议室中的每个玩家一个类似bool isTurn;
的布尔值,如果它是真的,玩家可以画画。当然,每个房间总会有一个真正的bool。
我的问题是,它是否可以像这样工作,如果有更聪明的方法来处理这个?
答案 0 :(得分:1)
我建议使用类似状态机的方法并使用填充了播放器的枚举器。例如:
public enum Turn {
PLAYER_1, PLAYER_2, PLAYER_3;
}
然后随着玩家的转变而增加这些。布尔值可能也会起作用,但可能比你喜欢的更复杂。
答案 1 :(得分:1)
如果某些内容必须是唯一的,我通常会将其建模为Firebase数据库中的密钥。由于密钥在其上下文中保证是唯一的,因此这可以确保我永远不会弄错会弄乱唯一性。
在您的情况下,这可能意味着您拥有一个包含用户的UID的属性:
games
$gameid
playerWhoseTurnItIs: $uid
你可以将它与Easton的FSM结合起来,以确保你以有序的方式从一个玩家转移到另一个玩家。