private RecursiveCombatDay22 CreateSubGame() { var subsetPlayer1 = Player1Cards.Skip(1).Take(Player1Cards.First()).ToList(); var subsetPlayer2 = Player2Cards.Skip(1).Take(Player2Cards.First()).ToList(); return(new RecursiveCombatDay22(subsetPlayer1, subsetPlayer2)); }
private void PlaySubGame() { var subGame = CreateSubGame(); ExecuteSubGame(subGame); if (subGame.IsPlayer1Winner()) { AddCardsToWinner(Player1Cards.First(), Player2Cards.First(), Player1Cards); } else { AddCardsToWinner(Player2Cards.First(), Player1Cards.First(), Player2Cards); } RemoveFirstCards(); }
private bool ShouldStartSubGame() { return(Player1Cards.First() <= (Player1Cards.Count() - 1) && Player2Cards.First() <= (Player2Cards.Count() - 1)); }