Beispiel #1
0
        private void SetFamily(string familyAbbr)
        {
            switch (familyAbbr.ToUpper(CultureInfo.InvariantCulture))
            {
            case "C":
                Suit            = SuitName.Clubs;
                AbsoluteValue <<= (int)Suit;
                break;

            case "D":
                Suit            = SuitName.Diamonds;
                AbsoluteValue <<= (int)Suit;
                break;

            case "H":
                Suit            = SuitName.Hearts;
                AbsoluteValue <<= (int)Suit;
                break;

            case "S":
                Suit            = SuitName.Spades;
                AbsoluteValue <<= (int)Suit;
                break;
            }
        }
Beispiel #2
0
 public Card(int relativeValue, SuitName suit)
 {
     RelativeValue   = relativeValue;
     AbsoluteValue   = Convert.ToUInt64(Math.Pow(2, relativeValue - 2));
     Suit            = suit;
     AbsoluteValue <<= (int)Suit;
 }
Beispiel #3
0
 //В конструкторе инициализируется колода для заданной игры
 //и устанавливается козырная масть
 public CardsPack(GameName game, SuitName trump)
 {
     if (game == GameName.FOOL)
     {
         for (int suit = 0; suit <= 3; suit++)
         {
             for (int card = 0; card <= 8; card++)
             {
                 pack.Add(new Card((CardName)card,
                                   (SuitName)suit, ((SuitName)suit == trump ? true : false)));
             }
         }
     }
     if (game == GameName.DEBERTZ)
     {
         for (int suit = 0; suit <= 3; suit++)
         {
             for (int card = 1; card <= 8; card++)
             {
                 pack.Add(new DebertzGameCard((CardName)card,
                                              (SuitName)suit, ((SuitName)suit == trump ? true : false)));
             }
         }
     }
 }
 public JournalRenameSuitLoadout(JObject evt) : base(evt, JournalTypeEnum.RenameSuitLoadout)
 {
     SuitID = ulong.MaxValue;
     // Limit search to this class only using DeclaredOnly.
     evt.ToObjectProtected(this.GetType(), true, false, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.DeclaredOnly, this); // read fields named in this structure matching JSON names
     SuitFriendlyName = ItemData.GetSuit(SuitName, SuitName_Localised)?.Name ?? SuitName_Localised;
     SuitName         = SuitName.ToLower();                                                                                                                                                                                           // normalise
 }
 public JournalLoadoutRemoveModule(JObject evt) : base(evt, JournalTypeEnum.LoadoutRemoveModule)
 {
     SuitID = ulong.MaxValue;
     // Limit search to this class only using DeclaredOnly.
     evt.ToObjectProtected(this.GetType(), true, false, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.DeclaredOnly, this); // read fields named in this structure matching JSON names
     SuitFriendlyName   = ItemData.GetSuit(SuitName, SuitName_Localised)?.Name ?? SuitName_Localised;
     SuitName           = SuitName.ToLower();                                                                                                                                                                                         // normalise
     ModuleNameFriendly = ItemData.GetWeapon(ModuleName, ModuleName_Localised)?.Name ?? ModuleName_Localised;
     SlotFriendlyName   = SlotName.SplitCapsWordFull();
     SlotName           = SlotName.ToLower();
     ModuleName         = ModuleName.ToLower();
 }
Beispiel #6
0
        //Вытаскиваем заданную карту из колоды
        public Card TakeCardFromPack(CardName card, SuitName suit)
        {
            int i;

            if ((PackSize > 0) && ((i = FindCardInPack(card, suit)) > 0))
            {
                Card c = new Card();
                c = pack[i];
                pack.RemoveAt(i);
                return(c);
            }
            else
            {
                return(null);
            }
        }
Beispiel #7
0
        //Старшинство карт в старшинство карт некозырной масти:
        //туз, десять, король, дама, валет, девять, восемь, семь.
        //Старшинство карт в козырной масти:
        //валет, девять, туз, десять, король, дама, восемь, семь.
        //Счет очков для ДЕБЕРЦа:
        //семь, восемь и девять (исключая козырную) очков не приносят
        //туз — 11 очков                //десять — 10 очков
        //король — 4 очка               //дама — 3 очка
        //валет некозырный — 2 очка     //валет козырный — 20 очков
        //девять козырная — 14 очков
        public DebertzGameCard(CardName r, SuitName s, bool t) : base(r, s, t)
        {
            if (t)
            {
                switch (r)
                {
                case CardName.QUEEN: CardRank = 3; cardScore = 3; break;

                case CardName.KING: CardRank = 4; cardScore = 4; break;

                case CardName.TEN: CardRank = 5; cardScore = 10; break;

                case CardName.ACE: CardRank = 6; cardScore = 11; break;

                case CardName.NINE: CardRank = 7; cardScore = 14; break;

                case CardName.JACK: CardRank = 8; cardScore = 20; break;

                default: CardRank = base.CardRank; cardScore = 0; break;
                }
            }
            else
            {
                switch (r)
                {
                case CardName.NINE: CardRank = 3; cardScore = 3; break;

                case CardName.JACK: CardRank = 4; cardScore = 2; break;

                case CardName.QUEEN: CardRank = 5; cardScore = 3; break;

                case CardName.KING: CardRank = 6; cardScore = 4; break;

                case CardName.TEN: CardRank = 7; cardScore = 10; break;

                case CardName.ACE: CardRank = 8; cardScore = 11; break;

                default: CardRank = base.CardRank; cardScore = 0; break;
                }
            }
        }
Beispiel #8
0
        private void SetFamily(long absoluteValue)
        {
            var clubs    = new Club(absoluteValue);
            var diamonds = new Diamond(absoluteValue);
            var spades   = new Spade(absoluteValue);
            var hearts   = new Heart(absoluteValue);

            if (clubs.ToLong() > 0)
            {
                Suit = SuitName.Clubs;
            }
            if (diamonds.ToLong() > 0)
            {
                Suit = SuitName.Diamonds;
            }
            if (spades.ToLong() > 0)
            {
                Suit = SuitName.Spades;
            }
            if (hearts.ToLong() > 0)
            {
                Suit = SuitName.Hearts;
            }
        }
Beispiel #9
0
        public Card(ValueName Value, SuitName Suit)
        {
            switch (Value)
            {
            case ValueName.Ace:
                _value = 1;
                break;

            case ValueName.Two:
                _value = 2;
                break;

            case ValueName.Three:
                _value = 3;
                break;

            case ValueName.Four:
                _value = 4;
                break;

            case ValueName.Five:
                _value = 5;
                break;

            case ValueName.Six:
                _value = 6;
                break;

            case ValueName.Seven:
                _value = 7;
                break;

            case ValueName.Eight:
                _value = 8;
                break;

            case ValueName.Nine:
                _value = 9;
                break;

            case ValueName.Ten:
                _value = 10;
                break;

            case ValueName.Jack:
                _value = 11;
                break;

            case ValueName.Queen:
                _value = 12;
                break;

            case ValueName.King:
                _value = 13;
                break;
            }
            switch (Suit)
            {
            case SuitName.Hearts:
                _suit = "Hearts";
                break;

            case SuitName.Clubs:
                _suit = "Clubs";
                break;

            case SuitName.Diamonds:
                _suit = "Diamonds";
                break;

            case SuitName.Spades:
                _suit = "Spades";
                break;
            }
        }
Beispiel #10
0
 public Card(SuitName suit, CardName value)
 {
     Suit = suit;
     Value = value;
 }
Beispiel #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Suit"/> class.
 /// </summary>
 /// <param name="name">The name.</param>
 public Suit(SuitName name)
 {
     SuitName = name;
 }
Beispiel #12
0
 public FoolGameCard(CardName r, SuitName s, bool t) : base(r, s, t)
 {
 }
Beispiel #13
0
 public Card(CardName r, SuitName s, bool t)
 {
     cardRank = (int)r;
     cardSuit = s; isTrump = t;
     theCard  = r;
 }
Beispiel #14
0
        //Печать колоды
        //public void PrintPack()
        //{
        //    return
        //       pack.FindIndex(card => (card.CardSuit == s) && (card.TheCard == c));
        //}

        //Поиск позиции заданной карты в колоде
        public int FindCardInPack(CardName c, SuitName s)
        {
            return
                (pack.FindIndex(card => (card.CardSuit == s) && (card.TheCard == c)));
        }