簡體   English   中英

團體回合制游戲

[英]Groups turn Based Game

我正在使用Firebase構建游戲。 在該游戲中,有許多玩家可以玩的房間。 我猜這個游戲叫做回合制。 因為只有一個玩家可以抽獎,而其他玩家應該像簡單的抽獎一樣猜測。 我的問題是我如何才能做到只有一名球員可以繪畫而其他人則可以猜測。 我的想法是給房間中的每個玩家一個布爾值,例如bool isTurn; 如果是真的,玩家可以抽獎。 當然,每個房間總是只有一個真正的布爾。 我的問題是,它是否可以像這樣工作,是否有更聰明的方法來解決這個問題?

我建議使用類似狀態機的方法,並使用填充有玩家的枚舉器。 例如:

public enum Turn { PLAYER_1, PLAYER_2, PLAYER_3; }

然后隨着玩家的回合變化而增加這些值。 布爾值可能也可以工作,但可能比您想要的更復雜。

如果某些內容必須唯一,則通常將其建模為Firebase數據庫中的密鑰。 由於保證鍵在它們的上下文中是唯一的,因此這確保了我永遠都不會犯弄亂唯一性的錯誤。

在您的情況下,這可能意味着您擁有一個包含輪到該用戶的UID的屬性:

games
  $gameid
    playerWhoseTurnItIs: $uid

您可以將其與Easton的FSM結合使用,以確保您以有序的方式在玩家之間移動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM