public void Resolve(Game game, IPlayer player)
        {
            //TODO: reveal hand

            var treasureFilter = new TreasureFilter();

            var treasureCount = player.Hand.Select(CardFactory.Create).Count(treasureFilter.Apply);

            player.MoneyPlayed = Math.Max(0, player.MoneyPlayed - treasureCount);

            Resolved = true;
        }
Exemple #2
0
        public void Resolve(Game game, IPlayer player)
        {
            var treasureFilter = new TreasureFilter();

            var treasuresInTrash = game
                                   .Supply.Trash
                                   .Select(CardFactory.Create)
                                   .Where(treasureFilter.Apply)
                                   .Select(x => x.Name)
                                   .Distinct()
                                   .ToList();

            player.MoneyPlayed += treasuresInTrash.Count * GoldPerTreasure;

            Resolved = true;
        }