コード例 #1
0
ファイル: DeckManager.cs プロジェクト: cmackenzie/FunProjects
        /// <summary>
        /// Places a card randomly inside the deck
        /// </summary>
        /// <param name="deck"></param>
        /// <param name="card"></param>
        /// <returns></returns>
        public CardCollectionOperationResult PlaceRandom(Deck deck, Card card)
        {
            CheckDeckIntegrity(deck);

            Random random = new Random();

            return PlaceCardAtIndex(deck, card, random.Next(0, deck.Count));
        }
コード例 #2
0
ファイル: DeckManager.cs プロジェクト: cmackenzie/FunProjects
        /// <summary>
        /// Places a card on the bottom of the deck
        /// </summary>
        /// <param name="deck"></param>
        /// <param name="card"></param>
        /// <returns></returns>
        public CardCollectionOperationResult PlaceBottom(Deck deck, Card card)
        {
            CheckDeckIntegrity(deck);

            deck.Add(card);

            return new CardCollectionOperationResult(deck);
        }
コード例 #3
0
 public CardCollectionOperationResult(CardCollection collection, Card card)
 {
     _collection = collection;
     _card = card;
 }
コード例 #4
0
ファイル: DeckManager.cs プロジェクト: cmackenzie/FunProjects
        /// <summary>
        /// Places a card on top of the deck
        /// </summary>
        /// <param name="deck"></param>
        /// <param name="card"></param>
        /// <returns></returns>
        public CardCollectionOperationResult PlaceTop(Deck deck, Card card)
        {
            CheckDeckIntegrity(deck);

            return PlaceCardAtIndex(deck, card, 0);
        }
コード例 #5
0
ファイル: DeckManager.cs プロジェクト: cmackenzie/FunProjects
        /// <summary>
        /// Places a card at a specified index of the deck
        /// </summary>
        /// <param name="deck"></param>
        /// <param name="card"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        private CardCollectionOperationResult PlaceCardAtIndex(Deck deck, Card card, int index)
        {
            deck.Insert(index, card);

            return new CardCollectionOperationResult(deck);
        }
コード例 #6
0
ファイル: HandManager.cs プロジェクト: cmackenzie/FunProjects
        public CardCollectionOperationResult RemoveCard(Hand hand, Card card)
        {
            hand.Remove(card);

            return new CardCollectionOperationResult(hand, card);
        }
コード例 #7
0
ファイル: HandManager.cs プロジェクト: cmackenzie/FunProjects
        public CardCollectionOperationResult AddCard(Hand hand, Card card)
        {
            hand.Add(card);

            return new CardCollectionOperationResult(hand);
        }