Пример #1
0
        /// <summary>
        /// Invokes the method that chooses the seme.
        /// </summary>
        /// <returns>The seme chosen.</returns>
        internal EnSemi?InvokeChooseSeme()
        {
            if (!(Board.Instance.IsAuctionPhase || Board.Instance.IsFinalizePhase))
            {
                throw new WrongPhaseException("A player can choose a seme only during the auction phase", "Auction");
            }

            if (Board.Instance.currentAuctionWinningBid.bidder != this)
            {
                throw new WrongPlayerException("This player can't choose the seme because he didn't win", Board.Instance.currentAuctionWinningBid.bidder);
            }

            return(_controller.ChooseSeme());
        }