示例#1
0
 private void OnButtonRuleClickCallBack(GameObject go)
 {
     double[] player   = new double[9];
     double[] opponent = new double[9];
     if (listMyPokerCard != null && listMyPokerCard.Count > 0)
     {
         string boards = HandEvaluatorConvert.ConvertPokerCardsToString(PokerObserver.Game.DealComminityCards);
         string pocket = HandEvaluatorConvert.ConvertPokerCardsToString(listMyPokerCard);
         DialogService.Instance.ShowDialog(new DialogGameplayRankModel(pocket, boards));
     }
 }
示例#2
0
    public void ShowRank()
    {
        if (listMyPokerCard.Count == 0)
        {
            return;
        }

        string pocketHand = HandEvaluatorConvert.ConvertPokerCardsToString(listMyPokerCard);
        string boards     = HandEvaluatorConvert.ConvertPokerCardsToString(PokerObserver.Game.DealComminityCards);
        int    count      = 0;

        double[] player   = new double[9];
        double[] opponent = new double[9];
        if (!Hand.ValidateHand(pocketHand + " " + boards))
        {
            lbMyRanking.text = string.Empty;
            return;
        }
        Hand.ParseHand(pocketHand + " " + boards, ref count);

        // Don't allow these configurations because of calculation time.
        if (count == 0 || count == 1 || count == 3 || count == 4 || count > 7)
        {
            lbMyRanking.text = string.Empty;
            return;
        }
        Hand.HandPlayerOpponentOdds(pocketHand, boards, ref player, ref opponent);
        var    indexAtMax = player.ToList().IndexOf(player.Max());
        string myRank     = "";

        switch ((Hand.HandTypes)indexAtMax)
        {
        case Hand.HandTypes.HighCard:
        case Hand.HandTypes.Pair:
        case Hand.HandTypes.TwoPair:
            myRank = "Hai đôi : " + FormatPercent(player[2]);
            break;

        case Hand.HandTypes.Trips:
            myRank = "Ba lá : " + FormatPercent(player[indexAtMax]);
            break;

        case Hand.HandTypes.Straight:
            myRank = "Sảnh  : " + FormatPercent(player[indexAtMax]);
            break;

        case Hand.HandTypes.Flush:
            myRank = "Đồng hoa  : " + FormatPercent(player[indexAtMax]);
            break;

        case Hand.HandTypes.FullHouse:
            myRank = "Cù lũ  : " + FormatPercent(player[indexAtMax]);
            break;

        case Hand.HandTypes.FourOfAKind:
            myRank = "Tứ quý  : " + FormatPercent(player[indexAtMax]);
            break;

        case Hand.HandTypes.StraightFlush:
            myRank = "Sảnh thông  : " + FormatPercent(player[indexAtMax]);
            break;
        }
        lbMyRanking.text = myRank;
    }