Esempio n. 1
0
        static void Main(string[] args)
        {
            string str = FileReader.ReadFile("p054_poker.txt");

            string[] cardPlays    = str.Split('\n');
            int      playerOneWin = 0;
            int      playerTwoWin = 0;
            int      draw         = 0;

            foreach (string players in cardPlays)
            {
                string playerOne = players.Substring(0, 14);
                string playerTwo = players.Substring(15, 14);
                Hands  handOne   = new Hands(playerOne);
                Hands  handTwo   = new Hands(playerTwo);
                int    compair   = Hands.Compair(handOne, handTwo);
                if (compair == 0)
                {
                    draw++;
                }
                if (compair == 1)
                {
                    playerOneWin++;
                }
                if (compair == -1)
                {
                    playerTwoWin++;
                }
            }
            Console.WriteLine(string.Format("Result is {0}", playerOneWin));
        }
Esempio n. 2
0
 public static int CompairType(Hands handOne, Hands handTwo)
 {
     if (handOne.HandType > handTwo.HandType)
     {
         return(1);
     }
     if (handTwo.HandType > handOne.HandType)
     {
         return(-1);
     }
     return(0);
 }
Esempio n. 3
0
 static void Main(string[] args)
 {
     string str = FileReader.ReadFile("p054_poker.txt");
     string[] cardPlays = str.Split('\n');
     int playerOneWin = 0;
     int playerTwoWin = 0;
     int draw = 0;
     foreach (string players in cardPlays)
     {
         string playerOne = players.Substring(0, 14);
         string playerTwo = players.Substring(15, 14);
         Hands handOne = new Hands(playerOne);
         Hands handTwo = new Hands(playerTwo);
         int compair = Hands.Compair(handOne, handTwo);
         if (compair == 0)
             draw++;
         if (compair == 1)
             playerOneWin++;
         if (compair == -1)
             playerTwoWin++;
     }
     Console.WriteLine(string.Format("Result is {0}", playerOneWin));
 }
Esempio n. 4
0
        public static int Compair(Hands handOne, Hands handTwo)
        {
            // Compair hand type
            int typeCompair = CompairType(handOne, handTwo);

            if (typeCompair != 0)
            {
                return(typeCompair);
            }
            // Compair Royal Flush
            if (handOne.HandType == HandType.RoyalFlush)
            {
                return(0);
            }
            // Compair Straight flush
            if (handOne.FourValue != null && handTwo.FourValue != null)
            {
                if (handOne.FourValue.CardNumber > handTwo.FourValue.CardNumber)
                {
                    return(1);
                }
                if (handOne.FourValue.CardNumber < handTwo.FourValue.CardNumber)
                {
                    return(-1);
                }
            }
            if (handOne.ThreeValue != null && handTwo.ThreeValue != null)
            {
                if (handOne.ThreeValue.CardNumber > handTwo.ThreeValue.CardNumber)
                {
                    return(1);
                }
                if (handOne.ThreeValue.CardNumber < handTwo.ThreeValue.CardNumber)
                {
                    return(-1);
                }
            }
            if (handOne.PairValues != null && handTwo.PairValues != null)
            {
                if (handOne.PairValues.Count() == handTwo.PairValues.Count())
                {
                    for (int i = 0; i < handOne.PairValues.Count(); i++)
                    {
                        if (handOne.PairValues[i].CardNumber > handTwo.PairValues[i].CardNumber)
                        {
                            return(1);
                        }
                        if (handOne.PairValues[i].CardNumber < handTwo.PairValues[i].CardNumber)
                        {
                            return(-1);
                        }
                    }
                }
            }

            if (handOne.SingleValues != null && handTwo.SingleValues != null)
            {
                if (handOne.SingleValues.Count() == handTwo.SingleValues.Count())
                {
                    for (int i = 0; i < handOne.SingleValues.Count(); i++)
                    {
                        if (handOne.SingleValues[i].CardNumber > handTwo.SingleValues[i].CardNumber)
                        {
                            return(1);
                        }
                        if (handOne.SingleValues[i].CardNumber < handTwo.SingleValues[i].CardNumber)
                        {
                            return(-1);
                        }
                    }
                }
            }
            return(0);
        }
Esempio n. 5
0
 public static int CompairType(Hands handOne, Hands handTwo)
 {
     if (handOne.HandType > handTwo.HandType)
         return 1;
     if (handTwo.HandType > handOne.HandType)
         return -1;
     return 0;
 }
Esempio n. 6
0
        public static int Compair(Hands handOne, Hands handTwo)
        {
            // Compair hand type
            int typeCompair = CompairType(handOne, handTwo);
            if(typeCompair != 0)
                return typeCompair;
            // Compair Royal Flush
            if (handOne.HandType == HandType.RoyalFlush)
                return 0;
            // Compair Straight flush
            if (handOne.FourValue != null && handTwo.FourValue != null)
            {
                if (handOne.FourValue.CardNumber > handTwo.FourValue.CardNumber)
                    return 1;
                if (handOne.FourValue.CardNumber < handTwo.FourValue.CardNumber)
                    return -1;
            }
            if (handOne.ThreeValue != null && handTwo.ThreeValue != null)
            {
                if (handOne.ThreeValue.CardNumber > handTwo.ThreeValue.CardNumber)
                    return 1;
                if (handOne.ThreeValue.CardNumber < handTwo.ThreeValue.CardNumber)
                    return -1;
            }
            if (handOne.PairValues != null && handTwo.PairValues != null)
            {
                if (handOne.PairValues.Count() == handTwo.PairValues.Count())
                {
                    for (int i = 0; i < handOne.PairValues.Count(); i++)
                    {
                        if (handOne.PairValues[i].CardNumber > handTwo.PairValues[i].CardNumber)
                            return 1;
                        if (handOne.PairValues[i].CardNumber < handTwo.PairValues[i].CardNumber)
                            return -1;
                    }
                }
            }

            if (handOne.SingleValues != null && handTwo.SingleValues != null)
            {
                if (handOne.SingleValues.Count() == handTwo.SingleValues.Count())
                {
                    for (int i = 0; i < handOne.SingleValues.Count(); i++)
                    {
                        if (handOne.SingleValues[i].CardNumber > handTwo.SingleValues[i].CardNumber)
                            return 1;
                        if (handOne.SingleValues[i].CardNumber < handTwo.SingleValues[i].CardNumber)
                            return -1;
                    }
                }
            }
            return 0;
        }