Esempio n. 1
0
        private static void Preflop(PTPHeader ptp)
        {
            IncrementFlags(ptp);

            if (preflops_calls == 2 || preflops_checks == 1 || preflops_folds == 1)
            {
                PTPHeader response = new PTPHeader(-3, false, false, false, false, "");
                string    json     = JsonConvert.SerializeObject(response);
                WriteToCurrentWriter(json);

                SwitchWriter();
                response = new PTPHeader(-3, true, true, false, true, "");
                json     = JsonConvert.SerializeObject(response);
                WriteToCurrentWriter(json);

                preflops_calls = preflops_folds = preflops_checks = 0;
                currentState   = State.Preturn;
            }
            else
            {
                SwitchWriter();
                PTPHeader response = new PTPHeader(0, false, true, true, true, "");
                string    json     = JsonConvert.SerializeObject(response);
                WriteToCurrentWriter(json);
            }
        }
Esempio n. 2
0
 private static void IncrementFlags(PTPHeader ptp)
 {
     if (ptp.call)
     {
         preflops_calls++;
     }
     if (ptp.check)
     {
         preflops_checks++;
     }
     if (ptp.fold)
     {
         preflops_folds++;
     }
 }
Esempio n. 3
0
        private static void PostRiver(PTPHeader ptp)
        {
            IncrementFlags(ptp);

            if (preflops_calls == 1 || preflops_checks == 2 || preflops_folds == 1)
            {
                Hand playerOneHand = new Hand();
                Hand playerTwoHand = new Hand();

                Card c00 = new Card(game.players[0].Hand[0].ConvertCardToString());
                Card c01 = new Card(game.players[0].Hand[1].ConvertCardToString());
                Card c10 = new Card(game.players[1].Hand[0].ConvertCardToString());
                Card c11 = new Card(game.players[1].Hand[1].ConvertCardToString());

                Card s1 = new Card(game.tableCards[0].ConvertCardToString());
                Card s2 = new Card(game.tableCards[1].ConvertCardToString());
                Card s3 = new Card(game.tableCards[2].ConvertCardToString());
                Card s4 = new Card(game.tableCards[3].ConvertCardToString());
                Card s5 = new Card(game.tableCards[4].ConvertCardToString());

                Card[] c0 = { c00, c01, s1, s2, s3, s4, s5 };
                playerOneHand.Cards = new List <Card>(c0);
                Card[] c1 = { c10, c11, s1, s2, s3, s4, s5 };
                playerTwoHand.Cards = new List <Card>(c1);

                playerOneHand.GetBestHandFromSeven();
                playerTwoHand.GetBestHandFromSeven();

                bool hasDealerWon = playerOneHand.GetStrength().CompareTo(playerTwoHand.GetStrength()) == 1;

                PTPHeader response = new PTPHeader(0, hasDealerWon, false, false, false, );
                string    json     = JsonConvert.SerializeObject(response);
                BroadcastMessage(json);
            }
            else
            {
                SwitchWriter();
                PTPHeader response = new PTPHeader(0, false, true, true, true, "");
                string    json     = JsonConvert.SerializeObject(response);
                WriteToCurrentWriter(json);
            }
        }
Esempio n. 4
0
        private static void Process(string data)
        {
            PTPHeader ptp = JsonConvert.DeserializeObject <PTPHeader>(data);

            switch (currentState)
            {
            case State.Preflop:
                Preflop(ptp);
                break;

            case State.Preturn:
                Preturn(ptp);
                break;

            case State.PreRiver:
                Preriver(ptp);
                break;

            case State.PostRiver:
                PostRiver(ptp);
                break;
            }
        }