Ejemplo n.º 1
0
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var pile = SelectPile(state);

            TalkSmack(pile, client);
            var message = new BuyCardMessage(client.PlayerId, pile.Id);            
            client.AcceptMessage(message);
        }
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var idsToTrash = state.Hand.Where(c => c.Is<Curse>() || c.Is<Copper>() || c.Is<Estate>())
                .Select(c => c.Id)
                .Take(activity.ParseNumberOfCardsToSelect())
                .ToArray();

            client.AcceptMessage(new SelectCardsMessage(client.PlayerId, idsToTrash));
        }
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var options = activity.ParseOptions();

            Choice choice = options.First();

            if (options.Contains(Choice.Yes))
                choice = Choice.Yes;

            client.AcceptMessage(new ChoiceMessage(client.PlayerId, choice.ToString()));
        }
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            int count = activity.ParseNumberOfCardsToSelect();

            var ids = PrioritiseCards(state, activity)
                .Take(count)
                .Select(c => c.Id)
                .ToArray();
            
            var message = new SelectCardsMessage(client.PlayerId, ids);
            client.AcceptMessage(message);
        }
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var action = state.Hand
                .Where(c => c.Is(CardType.Action))
                .Where(c => AISupportedActions.All.Contains(c.Name))
                .OrderByDescending(c => AISupportedActions.PlusActions.Contains(c.Name))
                .ThenByDescending(c => c.Cost)
                .First();

            var message = new PlayCardMessage(client.PlayerId, action.Id);
            client.AcceptMessage(message);
        }
Ejemplo n.º 6
0
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var pile = SelectPile(state, client);

            TalkSmack(pile, client);

            IGameActionMessage message = null;

            if (activity.ParseType() == ActivityType.DoBuys)
            {
                message = new BuyCardMessage(client.PlayerId, pile.Id);
            }
            else if (activity.ParseType() == ActivityType.SelectPile)
            {
                message = new ChooseAPileMessage(client.PlayerId, pile == null ? Guid.Empty : pile.Id);
            }

            client.AcceptMessage(message);
        }
Ejemplo n.º 7
0
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var message = new MoveToBuyStepMessage(client.PlayerId);

            client.AcceptMessage(message);
        }
Ejemplo n.º 8
0
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var selected = state.Revealed.First();

            client.AcceptMessage(new SelectCardsMessage(client.PlayerId, new[] { selected.Id }));
        }
 public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
 {
     var selected = state.Revealed.First();
     client.AcceptMessage(new SelectCardsMessage(client.PlayerId, new[] { selected.Id }));
 }
Ejemplo n.º 10
0
 public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
 {
     var message = new MoveToBuyStepMessage(client.PlayerId);
     client.AcceptMessage(message);
 }