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); } }
private static void IncrementFlags(PTPHeader ptp) { if (ptp.call) { preflops_calls++; } if (ptp.check) { preflops_checks++; } if (ptp.fold) { preflops_folds++; } }
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); } }
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; } }