Exemple #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ButtonSprite"/> class. 
 /// </summary>
 /// <param name="card">
 /// The card.
 /// </param>
 internal ButtonSprite(CardName card)
 {
     Clicked = false;
     Card = card;
     if (GameClass.ButtonImages.ContainsKey(card))
     {
         this.buttonFront = GameClass.ButtonImages[Card];
     }
 }
Exemple #2
0
 public void Initialize(
     [PexAssumeNotNull]Card target,
     CardName name,
     uint number
 )
 {
     target.Initialize(name, number);
     // TODO: add assertions to method CardTest.Initialize(Card, CardName, UInt32)
 }
Exemple #3
0
        public void CardNameToStringTest()
        {
            // Arrange
            CardName cardName = new CardName();
            // Act
            string result = cardName.ToString();

            // Assert
            Assert.IsTrue(result.Contains("english"));
        }
Exemple #4
0
 public CardId(CardName card)
 {
     if (card == null)
     {
         throw new ArgumentNullException(nameof(card));
     }
     _cardId   = card.Name;
     _hashCode = _cardId.GetHashCode();
     Card      = card;
 }
Exemple #5
0
        public GameLogLine(string line, IMatch match)
        {
            var createsMatch = NewToken.Match(line);

            if (createsMatch.Success)
            {
                var name = createsMatch.Groups["name"].Value;
                if (!name.EndsWith("token") && !LegendaryTokens.Contains(name) && !match.NamedTokens.Contains(name))
                {
                    match.NamedTokens.Add(name);
                }
            }
            var copiesToken = Transreliquat.Match(line);

            if (copiesToken.Success)
            {
                var name = copiesToken.Groups["name"].Value;
                if (!LegendaryTokens.Contains(name) && !match.NamedTokens.Contains(name))
                {
                    match.NamedTokens.Add(name);
                }
            }

            this.Line = line;
            var i = -1;

            while ((i = line.IndexOf('[')) != -1)
            {
                line = line.Substring(i);
                var end = line.IndexOf("]");
                if (end == -1 && line.Contains("..."))
                {
                    // Ugh.
                    return;
                }
                var name = line.Substring(1, end - 1);
                name = CardName.FixAccents(name);
                line = line.Substring(end + 1);
                var IsToken = line.TrimStart().StartsWith("token");
                if (LegendaryTokens.Contains(name) || match.NamedTokens.Contains(name))
                {
                    IsToken = true;
                }

                if (IsToken)
                {
                    this.Tokens.Add(name);
                }
                else
                {
                    this.Cards.Add(name);
                }
            }
        }
Exemple #6
0
        public void AddCardToDeck_ShouldBe53Cards()
        {
            CardName cardName = new CardName(ECardName.Jack);
            CardSuit cardSuit = new CardSuit(ECardSuit.Diamonds);
            Card     card     = new Card(cardName, cardSuit);

            IDeckOfCards sut = new DeckOfCards();

            sut.AddCardToDeck(card);
            Assert.AreEqual(sut.GetCards().Count, 53);
        }
        protected override NotificationViewModel Init(Notification dto)
        {
            base.Init(dto);

            var x = (AddedToCardNotification)dto;

            Board = x.Data.Board;
            Card  = x.Data.Card;

            return(this);
        }
Exemple #8
0
 public int getPlayedCardFromHand(CardName name)
 {
     if (mobsGame.ContainsKey(name))
     {
         return(mobsGame[name]);
     }
     else
     {
         return(0);
     }
 }
Exemple #9
0
        public void CardNamePropertyTest()
        {
            // Arrange
            string   testName = "Farvhan the Dreamer";
            CardName cardName = new CardName();

            // Act
            cardName.english = testName;
            // Assert
            Assert.AreEqual(testName, cardName.english);
        }
Exemple #10
0
        public async Task <IActionResult> Create(CreateFormModel model)
        {
            var cardId = new CardId(model.CardId);
            var userId = new UserId(model.UserId);
            var name   = new CardName(model.Name);

            var command = new CreateCard(cardId, userId, name);

            await _lifetimeService.CreateAsync(command);

            return(Ok());
        }
Exemple #11
0
    public Card(CardName cardName, CardColor color, int cost)
    {
        this.name         = cardName;
        this.color        = color;
        this.upgrade      = 999;
        this.upgradeTwice = 999;
        this.cost         = cost;
        this.cardname     = this.name.ToString();

        this.costMax = cost;
        this.tip     = "还是你的攻打大宋的垃圾大苏打大大撒大大";
    }
Exemple #12
0
        private Image CreateCardImage(Grid grid, CardName cardName, int col, int row, int rowSpan, int colSpan)
        {
            Image image = new Image {
                Source = ImageSource.FromResource(cardImageDict[cardName])
            };

            grid.Children.Add(image, row, col);
            Grid.SetRowSpan(image, rowSpan);
            Grid.SetColumnSpan(image, colSpan);

            return(image);
        }
Exemple #13
0
        private CardCtrl CardNameToCard(CardName name)
        {
            foreach (var card in _cardList)
            {
                if (card.CardName == name)
                {
                    return(card);
                }
            }

            throw new Exception("why isn't this card here?");
        }
Exemple #14
0
        public ICard TakeCard(CardName cardName)
        {
            Stack <ICard> stack = CardsInPlay.Find(c => c.Peek().Name == cardName);
            ICard         card  = stack.Pop();

            if (stack.Count == 0)
            {
                CardsInPlay.Remove(stack);
            }

            return(card);
        }
        private static string GetCardDisplayName(this CardName value)
        {
            FieldInfo fi = GetFieldInfo(value);

            if (cache.ContainsKey(fi))
            {
                return(cache[fi]);
            }
            var descriptionFromAttributeArray = BuildAttributeArrayAndReturnZeroIndex(fi);

            return(descriptionFromAttributeArray);
        }
Exemple #16
0
        public Card getCardData(CardName cardname)
        {
            foreach (Card ca in CardList)
            {
                if (ca.name == cardname)
                {
                    return(ca);
                }
            }

            return(unknownCard);
        }
Exemple #17
0
        public void AddCard(CardName cardName, PlayerBase player)
        {
            if (cardName == CardName.NONE)
            {
                return;
            }

            Card card = new Card(cardName);

            player.AddCard(card);
            deck.RemoveCard(cardName);
        }
Exemple #18
0
 public Card(JToken blob)
 {
     try
     {
         Name = new CardName(blob.SelectToken("names")?.Select(jt => jt.ToObject <string>()));
     }
     catch (Exception)
     {
         Name = new CardName(blob.Value <string>("name"));
     }
     Quantity = blob.Value <int>("n");
 }
Exemple #19
0
    public Card(CardName cardName, CardColor color, int cost, int upgrade, int upgradeTwice)
    {
        this.name         = cardName;
        this.color        = color;
        this.upgrade      = upgrade;
        this.upgradeTwice = upgradeTwice;
        this.cost         = cost;
        this.cardname     = this.name.ToString();

        this.costMax = cost;
        this.tip     = "tiptiptip";
    }
Exemple #20
0
    void StaticbubbleCheck()
    {
        if (CardName.Contains("StaticBubble"))
        {
            interval = 1;

            if (!b_staticBubblePlayed && Time.time >= startTime + (time / 2))
            {
                damage = damage * 2;
                b_staticBubblePlayed = true;
            }
        }
    }
Exemple #21
0
 public CardSnapshot(
     CardId id,
     UserId userId,
     CardName name,
     Money balance,
     bool isRemoved)
 {
     Id        = id;
     UserId    = userId;
     Name      = name;
     Balance   = balance;
     IsRemoved = isRemoved;
 }
Exemple #22
0
    public static Card NewCard(CardName cardName)
    {
        //使用反射创建对象
        Type   type = Type.GetType(cardName.ToString());
        object obj  = Activator.CreateInstance(type, true);

        if (obj == null)
        {
            Debug.Log("No Card for" + cardName.ToString());
            return(null);
        }
        return((Card)obj);
    }
Exemple #23
0
        public void UpdateCardCount(CardName cardName, int newCount)
        {
            // get the amount of change in the card counts
            int cardCountChange = Math.Abs(newCount - cardCountDict[cardName]);

            // if the new amount is less than the old, the change is negative
            if (newCount < cardCountDict[cardName])
            {
                cardCountChange *= -1;
            }

            cardCountDict[cardName] = newCount;
            totalCardCount         += cardCountChange;
        }
Exemple #24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CardSprite"/> class.
 /// </summary>
 /// <param name="card">
 /// The card.
 /// </param>
 /// <param name="index">
 /// The index.
 /// </param>
 internal CardSprite(CardName card, int index)
 {
     Index = index;
     CardRef = card;
     Clicked = false;
     ////position = Vector2.Zero;
     ////rectangle = new Rectangle((int)position.X, (int)position.Y, 1, 1);
     ////CardName = cardenum;
     ////Id = id;
     if (GameClass.CardImages.ContainsKey(CardRef))
     {
         cardFront = GameClass.CardImages[CardRef];
     }
 }
Exemple #25
0
        public KeyValuePair <string, string> GetCardDefinitionByName()
        {
            StreamReader deckOfManyThings = new StreamReader("deckOfManyThings.json");
            string       json             = deckOfManyThings.ReadToEnd();
            List <Card>  Cards            = JsonConvert.DeserializeObject <List <Card> >(json);

            var cardDefinition = KeyValuePair
                                 .Create(
                Cards.Where(c => c.CardName.ToLower() == CardName.ToLower()).Select(c => c.CardName).FirstOrDefault() ?? "No card found",
                Cards.Where(c => c.CardName.ToLower() == CardName.ToLower()).Select(c => c.Definition).FirstOrDefault() ?? "No card description found"
                );

            return(cardDefinition);
        }
Exemple #26
0
        public void DeckOfCards_ShouldBeAceOfSpades()
        {
            List <Card> customDeck  = new List <Card>();
            CardName    cardName    = new CardName(ECardName.Ace);
            CardSuit    cardSuit    = new CardSuit(ECardSuit.Spades);
            Card        aceOfSpades = new Card(cardName, cardSuit);

            customDeck.Add(aceOfSpades);

            IDeckOfCards sut = new DeckOfCards(customDeck);

            Assert.IsInstanceOf <IList <Card> >(sut.GetCards());
            Assert.AreEqual(sut.GetCards().Count, 1);
            Assert.AreEqual(sut.GetCards()[0], aceOfSpades);
        }
    //取得卡牌整個資料
    public void GetCardData(CardName _name, CardBase _base)
    {
        CardData data = null;

        DataBase.TryGetValue(_name, out data);
        if (data != null)
        {
            if (data.cardAmount > 0)
            {
                DataBase[_name].cardAmount--;
                //生成(位子旋轉自己改)
                //
                _base.SetCardData(data);
            }
        }
    }
        public void Initialize()
        {
            const string cardFolder  = @"D:\Dropbox\DX\Twitch\CodeRushed\MrAnnouncerBot\OverlayManager\wwwroot\GameDev\Assets\DragonH\Cards";
            string       pngFileName = System.IO.Path.Combine(cardFolder, $"{CardDto.GetFileName(CardName)}.png");

            PngFileFound = System.IO.File.Exists(pngFileName);
            if (PngFileFound)
            {
                CardImageName = System.IO.Path.GetFileNameWithoutExtension(pngFileName);
            }
            else
            {
                System.Diagnostics.Debugger.Break();
            }
            IsSecret = CardName.StartsWith("Secret ");
        }
Exemple #29
0
    public static void AddCard(List <Card> cards, CardName cardName, int num)
    {
        //使用反射创建对象
        Type   type = Type.GetType(cardName.ToString());
        object obj  = Activator.CreateInstance(type, true);

        if (obj == null)
        {
            Debug.Log("No Card for" + cardName.ToString());
        }

        for (int i = 0; i < num; i++)
        {
            cards.Add((Card)obj);
        }
    }
Exemple #30
0
        public Weapon(Weapon w)
        {
            this.name = w.name;
            this.card = w.card;
            this.numAttacksThisTurn   = w.numAttacksThisTurn;
            this.immuneWhileAttacking = w.immuneWhileAttacking;

            this.Angr       = w.Angr;
            this.Durability = w.Durability;

            this.windfury         = w.windfury;
            this.immune           = w.immune;
            this.lifesteal        = w.lifesteal;
            this.poisonous        = w.poisonous;
            this.cantAttackHeroes = w.cantAttackHeroes;
        }
Exemple #31
0
    void OnTriggerExit(Collider other)
    {
        if (UnitList.Contains(other.gameObject))
        {
            UnitList.Remove(other.gameObject);

            if (CardName.Contains("Discharge"))
            {
                workDischarge(other.gameObject, 0);
            }
            else if (CardName.Contains("ElectricArc"))
            {
                workElectric(other.gameObject, false);
            }
        }
    }
Exemple #32
0
        private static int CalculateValue(CardName name)
        {
            string nameToString = name.GetString();
            int    value;
            bool   results = int.TryParse(nameToString, out value);

            if (results)
            {
                return(value);
            }
            else if (name == CardName.Ace)
            {
                return(11);
            }
            return(10);
        }
Exemple #33
0
        public void equip(CardDB.Card c)
        {
            this.name = c.name;
            this.card = c;
            this.numAttacksThisTurn   = 0;
            this.immuneWhileAttacking = c.immuneWhileAttacking;

            this.Angr       = c.Attack;
            this.Durability = c.Durability;

            this.windfury         = c.windfury;
            this.immune           = false;
            this.lifesteal        = c.lifesteal;
            this.poisonous        = c.poisonous;
            this.cantAttackHeroes = (c.name == CardName.foolsbane) ? true : false;
        }
Exemple #34
0
 public void AppendName(CardName name)
 {
     this.names.Add(name);
     this.rarity += name.Rarity;
     AddEffects(name.Effects);
 }
Exemple #35
0
 private string GetAdditionalNameString(CardName cardName, int index)
 {
     if (index > 0 && cardName.Type != CardName.NameType.MainName)
     {
         if (names[index-1].Type == cardName.Type)
             return "and ";
         else if (cardName.Type == CardName.NameType.PostName)
         {
             return cardName.prepositions[Random.Range(0, cardName.prepositions.Count - 1)] + " ";
         }
     }
     return null;
 }
Exemple #36
0
 /// <summary>
 /// adds all the used cards.
 /// </summary>
 /// <param name="cards">
 /// The cards.
 /// </param>
 public void UsedCards(CardName[] cards)
 {
     game.SupplyZone.NewCards(cards.ToList());
 }
Exemple #37
0
 public Card(CardName cardName, CardSuit cardSuit)
 {
     this.cardName = cardName;
     this.cardSuit = cardSuit;
 }
Exemple #38
0
        /// <summary>
        /// Creates a new card based on how many cards have already been made.
        /// </summary>
        /// <param name="card">
        /// The name of the card to be created.
        /// </param>
        /// <returns>
        /// The new created card.
        /// </returns>
        public static Card CreateCard(CardName card)
        {
            Contract.Requires(card != CardName.Backside & card != CardName.Empty);

            Contract.Ensures(Contract.Result<Card>().Name == card);

            Card c;
            switch (card)
            {
                case CardName.Copper:
                    c = new Copper();
                    break;
                case CardName.Silver:
                    c = new Silver();
                    break;
                case CardName.Gold:
                    c = new Gold();
                    break;
                case CardName.Curse:
                    c = new Curse();
                    break;
                case CardName.Estate:
                    c = new Estate();
                    break;
                case CardName.Duchy:
                    c = new Duchy();
                    break;
                case CardName.Province:
                    c = new Province();
                    break;
                case CardName.Gardens:
                    c = new Gardens();
                    break;
                case CardName.Cellar:
                    c = new Cellar();
                    break;
                case CardName.Chapel:
                    c = new Chapel();
                    break;
                case CardName.Chancellor:
                    c = new Chancellor();
                    break;
                case CardName.Village:
                    c = new Village();
                    break;
                case CardName.Woodcutter:
                    c = new Woodcutter();
                    break;
                case CardName.Workshop:
                    c = new Workshop();
                    break;
                case CardName.Feast:
                    c = new Feast();
                    break;
                case CardName.Moneylender:
                    c = new Moneylender();
                    break;
                case CardName.Remodel:
                    c = new Remodel();
                    break;
                case CardName.Smithy:
                    c = new Smithy();
                    break;
                case CardName.ThroneRoom:
                    c = new ThroneRoom();
                    break;
                case CardName.CouncilRoom:
                    c = new CouncilRoom();
                    break;
                case CardName.Festival:
                    c = new Festival();
                    break;
                case CardName.Laboratory:
                    c = new Laboratory();
                    break;
                case CardName.Library:
                    c = new Library();
                    break;
                case CardName.Market:
                    c = new Market();
                    break;
                case CardName.Mine:
                    c = new Mine();
                    break;
                case CardName.Adventurer:
                    c = new Adventurer();
                    break;
                case CardName.Bureaucrat:
                    c = new Bureaucrat();
                    break;
                case CardName.Militia:
                    c = new Militia();
                    break;
                case CardName.Spy:
                    c = new Spy();
                    break;
                case CardName.Thief:
                    c = new Thief();
                    break;
                case CardName.Witch:
                    c = new Witch();
                    break;
                case CardName.Moat:
                    c = new Moat();
                    break;
                default:
                    throw new NotImplementedException("Tried to create a card that was not implemented when CardFactory was last updated.");
            }

            c.Initialize(card, CardsMade[card]);
            CardsMade[card] += 1;
            createdCards.Add(c, true);
            return c;
        }
Exemple #39
0
 /// <summary>
 /// try and buy supply card.
 /// </summary>
 /// <param name="card">
 /// The card.
 /// </param>
 private void SupplyAttemptToControl(CardName card)
 {
     BuyAttempt(card);
 }
 public Card(int index)
 {
     this.name = (CardName)(index / 4);
 }
 public static void DrawCard(SpriteBatch spriteBatch, float x, float y, CardName name, float rotate, float scale)
 {
     Rectangle rect = MOJANG_RECT_DIC[name];
     spriteBatch.Draw(cardTexture, new Vector2(x, y), rect, Color.White, rotate,
         new Vector2(0f, 0f), scale, SpriteEffects.None, 0f);
 }
Exemple #42
0
 public Card CreateCard(CardName card)
 {
     Card result = CardFactory.CreateCard(card);
     return result;
     // TODO: add assertions to method CardFactoryTest.CreateCard(CardName)
 }
Exemple #43
0
 public Card(SuitName suit, CardName value)
 {
     Suit = suit;
     Value = value;
 }
Exemple #44
0
 public void RemoveName(CardName nameToRemove)
 {
     if (this.names.RemoveAll(cardName => cardName.Equals(nameToRemove)) > 0)
         RefreshEffects();
 }
Exemple #45
0
        /// <summary>
        /// Makes a player buy a card.
        /// </summary>
        /// <param name="playerNumber">
        /// The number of the player buying a card.
        /// </param>
        /// <param name="cardName">
        /// The card name to be bought.
        /// </param>
        /// <author>
        /// Jakob Melnyk ([email protected])
        /// </author>
        private void BuyCard(uint playerNumber, CardName cardName)
        {
            gs.PlayerGainsCard(gs.Players[(int)playerNumber - 1], cardName);

            gs.NumberOfBuys = gs.NumberOfBuys - 1;
            gs.NumberOfCoins = gs.NumberOfCoins - cardCost[cardName];

            UpdateGui();
        }
 /// <summary>
 /// Gets the value of a card
 /// </summary>
 /// <param name="c">The card value to check</param>
 /// <returns>The value of the specified card</returns>
 public static int GetCardValue(CardName c)
 {
     return s_cardValues[c];
 }
Exemple #47
0
 /// <summary>
 /// Delegate for BuyAttempt. Checks if it is possible for the player to buy a specific card.
 /// </summary>
 /// <param name="cardName">
 /// The name of the card being checked.
 /// </param>
 /// <author>
 /// Jakob Melnyk ([email protected])
 /// </author>
 private void CanBuyCard(CardName cardName)
 {
     if (gs.ActivePlayer.PlayerNumber == clientPlayerNumber & cardName != CardName.Empty & cardName != CardName.Backside)
     {
         if (gs.NumberOfCoins >= cardCost[cardName] & gs.Supply[cardName] != 0 & gs.NumberOfBuys > 0)
         {
             network.TurnMessage("!bc [" + cardName + "]");
             BuyCard(clientPlayerNumber, cardName);
         }
     }
 }
Exemple #48
0
        /// <summary>
        /// Player gains a card from the supply.
        /// </summary>
        /// <param name="player">
        /// The player gaining the card.
        /// </param>
        /// <param name="card">
        /// The card the player gains from the supply.
        /// </param>
        public void PlayerGainsCard(Player player, CardName card)
        {
            Contract.Requires(Players.Contains(player));
            Contract.Requires(Supply[card] != 0);

            Contract.Ensures(player.TopOfDiscard.Name == card);

            player.AddCardToZone(CardFactory.CreateCard(card), Zone.Discard);
            Supply[card]--;

            if (Supply[card] == 0)
            {
                if (card == CardName.Province)
                {
                    GameOver = true;
                }
                else
                {
                    numberOfEmptyPiles++;
                }
            }

            if (numberOfEmptyPiles == 3)
            {
                GameOver = true;
            }
        }
Exemple #49
0
 public Card(CardName name)
 {
     _card = (byte) name;
 }
 public Card(CardName name)
 {
     this.name = name;
 }
Exemple #51
0
 /// <summary>
 /// supply is pressed.
 /// </summary>
 /// <param name="card">
 /// The card.
 /// </param>
 private void SupplyPressed(CardName card)
 {
     ////Console.WriteLine("Pressed {0} in Supply", card);
 }