Example #1
0
 public string GetCardRace()
 {
     if (this.m_cardRace != null)
     {
         return(this.m_cardRace);
     }
     CardRace[] raceArray = new CardRace[] {
         CardRace.Warrior, CardRace.SpellCaster, CardRace.Fairy, CardRace.Fiend, CardRace.Zombie, CardRace.Machine, CardRace.Aqua, CardRace.Pyro, CardRace.Rock, CardRace.WindBeast, CardRace.Plant, CardRace.Insect, CardRace.Thunder, CardRace.Dragon, CardRace.Beast, CardRace.BestWarrior,
         CardRace.Dinosaur, CardRace.Fish, CardRace.SeaSerpent, CardRace.Reptile, CardRace.Psycho, CardRace.DivineBeast
     };
     CardAttribute[] attributeArray = new CardAttribute[] { CardAttribute.Dark, CardAttribute.Divine, CardAttribute.Earth, CardAttribute.Fire, CardAttribute.Light, CardAttribute.Water, CardAttribute.Wind };
     foreach (CardRace race in raceArray)
     {
         if ((this.Race & (int)race) != 0)
         {
             this.m_cardRace = race.ToString();
             break;
         }
     }
     foreach (CardAttribute attribute in attributeArray)
     {
         if ((this.Attribute & (int)attribute) != 0)
         {
             this.m_cardRace = this.m_cardRace + " - " + attribute;
             break;
         }
     }
     return(this.m_cardRace ?? (this.m_cardRace = ""));
 }
Example #2
0
 /// <summary>
 /// Check card values to determine if they are right (i.e. are into allowed range for each property)
 /// </summary>
 /// <param name="_type">Card type as enum</param>
 /// <param name="_class">Card class as enum</param>
 /// <param name="_set">Card set as enum</param>
 /// <param name="_race">Card race as enum</param>
 /// <param name="_quality">Card quality as enum</param>
 /// <returns></returns>
 public static CardError checkCard(CardType _type, CardClass _class, CardSet _set, CardRace _race, CardQuality _quality, string _name)
 {
     if ((_type < CardType.Minion) || (_type > CardType.Weapon))
     {
         return CardError.BadType;
     }
     // Wrong card class?
     if ((_class < CardClass.Neutral) || (_class > CardClass.Druid))
     {
         return CardError.BadClass;
     }
     // Wrong card set?
     if ((_set < CardSet.Basic) || (_set > CardSet.WhispersOfTheOldGods))
     {
         return CardError.BadSet;
     }
     // Wrong minion race?
     if ((_type == CardType.Minion) && ((_race < CardRace.None) || (_race > CardRace.Pirate)))
     {
         return CardError.BadRace;
     }
     // Wrong card quality?
     if ((_quality < CardQuality.Free) || (_quality > CardQuality.Legendary))
     {
         return CardError.BadQuality;
     }
     // Wrong (empty) name?
     if (_name.Length == 0)
     {
         return CardError.BadName;
     }
     return CardError.None;
 }
Example #3
0
 public void SelectRaces(CardRace[] races)
 {
     m_races.Clear();
     foreach (CardRace race in races)
         m_races.Add(race);
 }
Example #4
0
 public void SelectRace(CardRace race)
 {
     m_races.Clear();
     m_races.Add(race);
 }
Example #5
0
 public void SelectRace(CardRace race)
 {
     m_races.Clear();
     m_races.Add(race);
 }
Example #6
0
 public bool HasRace(CardRace race)
 {
     return((Race & (int)race) != 0);
 }
Example #7
0
 public int GetCountCardInZone(IEnumerable <ClientCard> cards, CardRace cardRace)
 {
     return(cards.Count(card => card != null && card.HasRace(cardRace)));
 }
Example #8
0
        public Card(int cardId, string cardName, int level, int evolution, Skill[] skills, Skill[] skillsEvolution, CardRace race, int wait, double attack, double hp)
        {
            Console.WriteLine(string.Join("\t", nameof(Card), "创建卡牌", cardName));

            CardId   = cardId;
            CardName = cardName ?? throw new ArgumentNullException(nameof(cardName));
            Level.Set(level);
            Evolution.Set(evolution);
            Skills          = skills ?? throw new ArgumentNullException(nameof(skills));
            SkillsEvolution = skillsEvolution ?? throw new ArgumentNullException(nameof(skillsEvolution));
            Race.Set(race);
            Wait.SetMax(wait).SetToMax();
            Attack.SetMax(attack).SetToMax();
            Hp.SetMax(hp).SetToMax();
        }
Example #9
0
 public void SelectRace(CardRace race)
 {
     this.races.Clear();
     this.races.Add(race);
 }
Example #10
0
 public string GetCardRace()
 {
     if (this.m_cardRace != null)
     {
         return this.m_cardRace;
     }
     CardRace[] raceArray = new CardRace[] {
         CardRace.Warrior, CardRace.SpellCaster, CardRace.Fairy, CardRace.Fiend, CardRace.Zombie, CardRace.Machine, CardRace.Aqua, CardRace.Pyro, CardRace.Rock, CardRace.WindBeast, CardRace.Plant, CardRace.Insect, CardRace.Thunder, CardRace.Dragon, CardRace.Beast, CardRace.BestWarrior,
         CardRace.Dinosaur, CardRace.Fish, CardRace.SeaSerpent, CardRace.Reptile, CardRace.Psycho, CardRace.DivineBeast
      };
     CardAttribute[] attributeArray = new CardAttribute[] { CardAttribute.Dark, CardAttribute.Divine, CardAttribute.Earth, CardAttribute.Fire, CardAttribute.Light, CardAttribute.Water, CardAttribute.Wind };
     foreach (CardRace race in raceArray)
     {
         if ((this.Race & (int)race) != 0)
         {
             this.m_cardRace = race.ToString();
             break;
         }
     }
     foreach (CardAttribute attribute in attributeArray)
     {
         if ((this.Attribute & (int)attribute) != 0)
         {
             this.m_cardRace = this.m_cardRace + " - " + attribute;
             break;
         }
     }
     return (this.m_cardRace ?? (this.m_cardRace = ""));
 }
Example #11
0
File: Card.cs Project: crosik/MAS
 public void DeleteRace(CardRace Race)
 {
     this.CardRace.Remove(Race);
 }
Example #12
0
File: Card.cs Project: crosik/MAS
 public void AddRace(CardRace Race)
 {
     this.CardRace.Add(Race);
 }