예제 #1
0
 private static void PopulateFlower(FlowerStack stack)
 {
     Console.WriteLine($"Cards for {stack}");
     if ("Is the flower on its stack? {0}".AskForDecision(CliHelper.Yes, CliHelper.No) == CliHelper.Yes)
     {
         stack.Cards.Add(Print(new Card(Color.Flower, Value.Flower)));
     }
     Console.WriteLine();
 }
예제 #2
0
 public Board(Board board)
 {
     ApplyForcedMoves = board.ApplyForcedMoves;
     MoveHistory      = new Stack <IMove>(board.MoveHistory.Reverse());
     LockableStacks   = board.LockableStacks.Select(lockable => new LockableStack(lockable)).ToList();
     FlowerStack      = new FlowerStack(board.FlowerStack);
     FilingStacks     = board.FilingStacks.Select(filing => new FilingStack(filing)).ToList();
     Stacks           = board.Stacks.Select(stack => new Stack(stack)).ToList();
     Debug.Assert(GetHashCode() == board.GetHashCode());
 }