static void Main(string[] args) { StreamReader myFile = new StreamReader("poker.txt"); int player1wins = 0; Hand player1 = new Hand(); Hand player2 = new Hand(); List<Card> twoHands = new List<Card>(); while (!myFile.EndOfStream) { player1 = new Hand(); twoHands = ParseString(myFile.ReadLine()); for (int i = 0; i < 5; i++) { player1.Add(twoHands[0]); twoHands.RemoveAt(0); } player2 = new Hand(); for (int i = 0; i < 5; i++) { player2.Add(twoHands[0]); twoHands.RemoveAt(0); } ScoringEngine.GetScore(player1); ScoringEngine.GetScore(player2); if (player1.Score > player2.Score) { player1wins++; } else if (player1.Score == player2.Score) { if (player1.TieBreakValue > player2.TieBreakValue) { player1wins++; } else if (player1.TieBreakValue == player2.TieBreakValue) { if (player1.HighCard > player2.HighCard) player1wins++; } } } myFile.Close(); Console.WriteLine("Player 1 wins: " + player1wins); }
private Hand GeneratePokerHand(string[] cards) { Hand hand = new Hand("player"); foreach (string s in cards) { char[] c = s.ToCharArray(); Card card = new Card(); hand.Add(card); switch (c[0]) { case '2': card.FaceValue = 0; break; case '3': card.FaceValue = (CardTypes.CardType)1; break; case '4': card.FaceValue = (CardTypes.CardType)2; break; case '5': card.FaceValue = (CardTypes.CardType)3; break; case '6': card.FaceValue = (CardTypes.CardType)4; break; case '7': card.FaceValue = (CardTypes.CardType)5; break; case '8': card.FaceValue = (CardTypes.CardType)6; break; case '9': card.FaceValue = (CardTypes.CardType)7; break; case 'T': card.FaceValue = (CardTypes.CardType)8; break; case 'J': card.FaceValue = (CardTypes.CardType)9; break; case 'Q': card.FaceValue = (CardTypes.CardType)10; break; case 'K': card.FaceValue = (CardTypes.CardType)11; break; case 'A': card.FaceValue = (CardTypes.CardType)12; break; default: break; } switch (c[1]) { case 'C': card.Suit = 0; break; case 'D': card.Suit = (CardTypes.Suits)1; break; case 'H': card.Suit = (CardTypes.Suits)2; break; case 'S': card.Suit = (CardTypes.Suits)3; break; } } hand.Sort(); return hand; }