Beispiel #1
0
 public bool PutToAttack(Card c)
 {
     if (CountAttackCards < _maxAttackCard)
     {
         _attackCard.Add(c);
         return true;
     }
     return false;
 }
Beispiel #2
0
        public bool PutToDefence(Card c)
        {
            Card att = _attackCard[_attackCard.Count - 1];

            if (att.Suit == c.Suit && c.Number > att.Number)
            {
                _defenceCard.Add(c);
                return true;
            }
            else
            {
                if (c.Suit == _suit)
                {
                    _defenceCard.Add(c);
                    return true;
                }
                return false;
            }
        }
Beispiel #3
0
        public void InitGame()
        {
            _gameNumber++;
            _deck = new Durak.Deck36();
            _cpuPlayer = new Durak.Player();
            _userPlayer = new Durak.Player();
            _lastCard = _deck.GiveNextCard();
            _gameSuit = _lastCard.Suit;

            for (int i = 0; i < 6; i++)
            {
             //       _userPlayer.CardToHand(_deck.GiveNextCard());
             //       _cpuPlayer.CardToHand(_deck.GiveNextCard());
            }
        }
Beispiel #4
0
 public bool Def(Card card)
 {
     if (_t.PutToDefence(card))
     {
         Card att = _c.Attack(_t.GetCanPutNumber());
         if (att != null)
         {
             _t.PutToAttack(att);
         }
         else
         {
             end = true;
         }
         return true;
     }
     return false;
 }
Beispiel #5
0
 public bool Att(Card card)
 {
     if (_t.PutToAttack(card))
     {
         Card defCard = _c.Defence(card, _s);
         if (defCard != null)
         {
             _t.PutToDefence(defCard);
             return true;
         }
         Take(_c);
         end = true;
         return true;
     }
     return false;
 }
Beispiel #6
0
 public void UserAction(userActionType action, Card c)
 {
     switch (action)
     {
         case userActionType.attack:
             {
                 if (m.Att(c))
                 {
                     _userPlayer.Hand.Remove(c);
                     if (m.End)
                     {
                         _table.Clear();
                         m = new UserTableManager(_userPlayer, _cpuPlayer, _deck, _gameSuit, _table,1);
                     }
                 }
                 else
                 {
                     _userPlayer.Hand.Add(c);
                 }
                 break;
             }
         case userActionType.defence:
             {
                 if (!m.End)
                 {
                     if (m.Def(c))
                     {
                         _userPlayer.Hand.Remove(c);
                         if (_table.isAllDefence())
                         {
                             _table.Clear();
                             m = new UserTableManager(_userPlayer, _cpuPlayer, _deck, _gameSuit, _table,0);
                         }
                     };
                 }
                 else
                 {
                     _table.Clear();
                     m = new UserTableManager(_userPlayer, _cpuPlayer, _deck, _gameSuit, _table,1);
                 }
                 break;
             }
         case userActionType.take:
             {
                 m.Take(_userPlayer);
                 _table.Clear();
                 m = new UserTableManager(_userPlayer, _cpuPlayer, _deck, _gameSuit, _table,1);
                 break;
             }
         case userActionType.end:
             {
                 _table.Clear();
                 m = new UserTableManager(_userPlayer, _cpuPlayer, _deck, _gameSuit, _table,1);
                 break;
             }
     }
 }