示例#1
0
 /// <summary>
 /// Resolves the Vampiric Influence Event card
 /// </summary>
 /// <param name="game">The GameState</param>
 /// <param name="logic">The artificial intelligence component</param>
 private static void PlayVampiricInfluence(GameState game, DecisionMaker logic)
 {
     Console.WriteLine("Dracula played Vampiric Influence");
     var bittenHunters = new List<HunterPlayer>();
     if (HunterPlayingGoodLuckToCancelDraculaEvent(game, Event.VampiricInfluence, Event.VampiricInfluence, logic) >
         0)
     {
         Console.WriteLine("Vampiric Influence cancelled");
         return;
     }
     foreach (var h in game.Hunters)
     {
         if (h != null && h.BiteCount > 0)
         {
             bittenHunters.Add(h);
         }
     }
     var victim = logic.ChooseVampiricInfluenceVictim(bittenHunters);
     Console.WriteLine(
         "Dracula is influencing {0}, who must show Dracula all of {1} cards and declare {1} next move", victim.Hunter.Name(),
         victim.Hunter == Hunter.MinaHarker ? "her" : "his");
     DraculaLooksAtAllHuntersItems(game, victim);
     DraculaLooksAtAllHuntersEvents(game, victim);
     HunterDeclaresNextMove(game, victim);
 }