Beispiel #1
0
        /// <summary>
        /// 傳遞訊息
        ///   消耗 1個藍色傳達指示物,若已無未消耗藍色傳達指示物,則不可執行此行動。
        ///   告訴另一玩家其手牌的線索
        ///   提供線索須遵循以下原則:
        ///     只能就玩家手牌內的某種顏色或某種數字提供線索
        /// </summary>
        /// <param name="value">提示的數字</param>
        /// <param name="player">被提示的玩家</param>
        /// <param name="board">遊戲資訊</param>
        /// <returns>提示結果</returns>
        public PromptCardResult PromptCard(CardValueType value, IHanabiPlayer player, GameBoard board)
        {
            if (value == CardValueType.Unknown)
            {
                return(PromptCardResult.InvalidPrompt);
            }

            if (!board.Use())
            {
                return(PromptCardResult.PromptEmpty);
            }

            player.PromptCard(value);
            return(PromptCardResult.Success);
        }
Beispiel #2
0
        /// <summary>
        /// 傳遞訊息
        ///   消耗 1個藍色傳達指示物,若已無未消耗藍色傳達指示物,則不可執行此行動。
        ///   告訴另一玩家其手牌的線索
        ///   提供線索須遵循以下原則:
        ///     只能就玩家手牌內的某種顏色或某種數字提供線索
        /// </summary>
        /// <param name="color">提示的顏色</param>
        /// <param name="player">被提示的玩家</param>
        /// <param name="board">遊戲資訊</param>
        /// <returns>提示結果</returns>
        public PromptCardResult PromptCard(CardColorType color, IHanabiPlayer player, GameBoard board)
        {
            if (color == CardColorType.Unknown)
            {
                return(PromptCardResult.InvalidPrompt);
            }

            if (!board.Use())
            {
                return(PromptCardResult.PromptEmpty);
            }

            player.PromptCard(color);
            return(PromptCardResult.Success);
        }