public bool PutToAttack(Card c) { if (CountAttackCards < _maxAttackCard) { _attackCard.Add(c); return true; } return false; }
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; } }
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()); } }
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; }
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; }
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; } } }