public override void Puzzle1() { while (player1Deck.Count > 0 && player2Deck.Count > 0) { if (player1Deck.First() > player2Deck.First()) { DeckShuffler.RoundOfCombat(player1Deck, player2Deck); } else { DeckShuffler.RoundOfCombat(player2Deck, player1Deck); } } long ans = player1Deck.Count() == 0 ? DeckShuffler.CountResult(player2Deck) : DeckShuffler.CountResult(player1Deck); Console.WriteLine($"The winning player's score = {ans}"); }
public override void Puzzle2() { int gameNumber = 1; int roundNumber = 1; while (player1Deck.Count > 0 && player2Deck.Count > 0) { //Console.WriteLine($" ===== Round {roundNumber} (Game {gameNumber}) ===== "); //Console.Write("P1: "); //player1Deck.ForEach(x => Console.Write(x + " ")); //Console.WriteLine(); //Console.Write("P2: "); //player2Deck.ForEach(x => Console.Write(x + " ")); //Console.WriteLine(); DeckShuffler.RoundOfRecursiveCombat(player1Deck, player2Deck, gameNumber); roundNumber++; } long ans = player1Deck.Count() == 0 ? DeckShuffler.CountResult(player2Deck) : DeckShuffler.CountResult(player1Deck); Console.WriteLine($"The winning player's score = {ans}"); }