public IEventResponse HandleGameEvent(IGameMessage @event, IActionScope scope) { var aiContext = Mapper.Map <IGameMessage, AiContext>(@event); var votes = _root.Evaluate(aiContext); votes = votes.VoteFor(@event.GetDefaultResponse(), 1); return(votes.Winner); }
public IEventResponse HandleGameEvent(IGameMessage @event, IActionScope scope) { if ([email protected]().Any()) { return(@event.GetDefaultResponse()); } return(_ai.HandleGameEvent(@event, scope)); }
public IEventResponse HandleGameEvent(IGameMessage @event, IEnumerable <IEventResponse> availableResponses, IActionScope playerActionScope) { availableResponses = availableResponses.ToList(); if (!availableResponses.Any()) { return(@event.GetDefaultResponse()); } DisplayHand(playerActionScope.Hand); System.Console.WriteLine(@event.Description); var responses = new ConsoleEventResponses(availableResponses); foreach (var response in responses) { System.Console.WriteLine("{0} - {1}", response.Index, response.Description); } System.Console.WriteLine("[Enter = {0}]", @event.GetDefaultResponse().Description); System.Console.WriteLine("{0}", @event.TurnScope); ConsoleEventResponse consoleEventResponse = null; do { var input = System.Console.ReadLine(); if (input == String.Empty) { consoleEventResponse = new ConsoleEventResponse(0, @event.GetDefaultResponse()); } else { int index; var parsed = Int32.TryParse(input, out index); if (!parsed) { index = 1; } consoleEventResponse = responses.FirstOrDefault(r => r.Index == index); } } while (consoleEventResponse == null); return(consoleEventResponse.Response); }
public IEventResponse HandleGameEvent(IGameMessage @event, IActionScope scope) { if (@event.GetAvailableResponses().Count() == 1) { return(@event.GetDefaultResponse()); } //DisplayTurnInfo(scope); return(HandleGameEvent(@event, @event.GetAvailableResponses(), scope)); }
public void Handle(IGameMessage @event, IReactionScope scope) { if (@event is DeckDepletedEvent) { Handle(@event as DeckDepletedEvent); return; } if (@event is IAttackEffect) { HandleAttack(@event as IAttackEffect, scope); } Hand.Handle(@event, scope); if (@event.GetAvailableResponses().Count() == 1) { @event.GetDefaultResponse().Execute(); } else { _controller.HandleGameEvent(@event, scope).Execute(); } }
public IEventResponse HandleGameEvent(IGameMessage @event) { return(@event.GetDefaultResponse()); }
public IEventResponse HandleGameEvent(IGameMessage @event, IReactionScope scope) { return(@event.GetDefaultResponse()); }