//Constructor
 public SpecialCard(string name, Enums.EnumType type, string effect)
 {
     Name = name;
     Type = type;
     Effect = effect;
     BuffType = null;
 }
Beispiel #2
0
 //Constructor
 public CombatCard(string name, Enums.EnumType type, string effect, int attackPoints, bool hero)
 {
     Name         = name;
     Type         = type;
     Effect       = effect;
     AttackPoints = attackPoints;
     Hero         = hero;
 }
Beispiel #3
0
        //Constructor
        public SpecialCard(string name, Enums.EnumType type, string effect)
        {
            Name = name;
            EnumType Type = type;

            Effect = effect;
            EnumType BuffType = EnumType.None;
        }
 //Metodos
 public void AddCard(Card card, int playerId = -1, Enums.EnumType buffType = Enums.EnumType.None)
 {
     //Combat o Special
     if (card.GetType().Name == nameof(CombatCard))
     {
         //Agregar la de combate a su fila correspondiente
         if (playerId == 0 || playerId == 1)
         {
             if (playerCards[playerId].ContainsKey(card.Type.ToString()))
             {
                 playerCards[playerId][card.Type.ToString()].Add(card);
             }
             else
             {
                 playerCards[playerId].Add(card.Type.ToString(), new List <Card>()
                 {
                     card
                 });
             }
         }
         else
         {
             throw new IndexOutOfRangeException("No player id given");
         }
     }
     else
     {
         //Es capitan?
         if ((playerId == 0 || playerId == 1) && buffType == Enums.EnumType.None)
         {
             //Revisar si no se a agregado el capitan
             if (!playerCards[playerId].ContainsKey(card.Type.ToString()))
             {
                 playerCards[playerId].Add(card.Type.ToString(), new List <Card>()
                 {
                     card
                 });
             }
             else
             {
                 throw new FieldAccessException("Player already has captain");
             }
         }
         //Es buffer?
         else if ((playerId == 0 || playerId == 1) && buffType != null)
         {
             //Revisar si no se a agregado un buffer en la fila primero.
             if (!playerCards[playerId].ContainsKey(card.Type.ToString() + buffType))
             {
                 playerCards[playerId].Add(card.Type.ToString() + buffType, new List <Card>()
                 {
                     card
                 });
             }
             else
             {
                 throw new FieldAccessException($"Player has already played a buffer card in {buffType} row");
             }
         }
         else
         {
             weatherCards.Add(card as SpecialCard);
         }
     }
 }