public HandRankerTest(HandRanker ranker, string a, string b, int result) { _ranker = ranker; _a = a; _b = b; _result = result; }
public override void OnDoubleClick(Mobile from) { if (from.InRange(Location, 4) && from.NetState != null) { if (PokerDealer.Jackpot > 0 && PokerDealer.JackpotWinners != null && PokerDealer.JackpotWinners.Winners.Count > 0) { if (PokerDealer.JackpotWinners.Winners.Count > 1) { var sb = new StringBuilder(String.Format("The jackpot is {0:#,0} {1}. ", PokerDealer.Jackpot, PokerDealer.JackpotWinners.TypeOfCurrency.Name)); sb.Append("It is currently split by: "); for (int i = 0; i < PokerDealer.JackpotWinners.Winners.Count; ++i) { sb.Append( PokerDealer.JackpotWinners.Winners[i].Mobile != null ? PokerDealer.JackpotWinners.Winners[i].Mobile.Name : "(-null-)"); if (PokerDealer.JackpotWinners.Winners.Count == 2 && i == 0) { sb.Append(" and "); } else if (i != PokerDealer.JackpotWinners.Winners.Count - 2) { sb.Append(", "); } else { sb.Append(" and "); } } sb.Append(String.Format(" leading with {0}", HandRanker.RankString(PokerDealer.JackpotWinners.Hand))); DisplayMessage(from, sb.ToString()); return; } if (PokerDealer.JackpotWinners.Winners[0] != null && PokerDealer.JackpotWinners.Winners[0].Mobile != null) { DisplayMessage( from, String.Format( "The jackpot is {0:#,0} {1}. {2} leads with {3}", PokerDealer.Jackpot, PokerDealer.JackpotWinners.TypeOfCurrency.Name, PokerDealer.JackpotWinners.Winners[0].Mobile.Name, HandRanker.RankString(PokerDealer.JackpotWinners.Hand))); return; } } DisplayMessage(from, "Currently No Jackpot"); } else { from.SendMessage(0x22, "That is too far away."); } }
public static void Main(string[] args) { // NUnit inexplicably refused to work for me, so I had to roll my own dirty version of a test suite // Please feel free to review these tests. TestRunner.RunTests(); // You can also test the code that did get completed by modifying the following hands string handA = "AD KC QS JD 10C"; string handB = "9H 8H 6H 5H J"; HandRanker ranker = new HandRanker(); int result = ranker.CompareHands(handA, handB); switch (result) { case 1: Console.WriteLine($"{handA} beats {handB}, hands down."); break; case -1: Console.WriteLine($"{handA} is beaten by {handB}, what an upset!"); break; case 0: Console.WriteLine($"{handA} and {handB} split the pot."); break; } }
public int Execute(ref int totalTests) { int passedTests = 0; HandRanker ranker = new HandRanker(); passedTests += new HandRankerTest(ranker, "2H 4H 5H 7H JH", "2H 4H 5H 7H JH", 0).Execute(ref totalTests); passedTests += new HandRankerTest(ranker, "2H 2D 5H 7H JH", "2H 4D 5H 7H JH", 1).Execute(ref totalTests); passedTests += new HandRankerTest(ranker, "2H 2C 5H 7H JH", "2H 4C J 7H JH", 0).Execute(ref totalTests); passedTests += new HandRankerTest(ranker, "2D 4H 5H 7H JH", "2D 4H J 7H JH", -1).Execute(ref totalTests); passedTests += new HandRankerTest(ranker, "AH KH QH JH 10H", "2D 4D 5D 6D 7D", 1).Execute(ref totalTests); passedTests += new HandRankerTest(ranker, "KC QH JC 10H 9C", "2D 4D 5D 6D 7D", -1).Execute(ref totalTests); passedTests += new HandRankerTest(ranker, "AH AD AC 2H 2D", "6S 7S 8S 9S 10S", -1).Execute(ref totalTests); return(passedTests); }
public CardConstants.HandRank EvaluatPlayerHand(List <CardId> finalHand) { HandAnalizer = new HandRanker(); HandAnalizer.setHandRanker(finalHand); if (IsRoyalFlush(finalHand)) { return(CardConstants.HandRank.royalFlush); } if (IsStarightFlush(finalHand)) { return(CardConstants.HandRank.strightFlush); } if (HandAnalizer.Rankcount[0] == 4) { return(CardConstants.HandRank.fourOfAKind); } if (HandAnalizer.Rankcount[0] == 3 && HandAnalizer.Rankcount[1] == 2) { return(CardConstants.HandRank.fullHouse); } if (HandAnalizer.Suits[0] >= 5) { return(CardConstants.HandRank.flush); } if (IsStright(finalHand)) { return(CardConstants.HandRank.stright); } if (HandAnalizer.Rankcount[0] == 3) { return(CardConstants.HandRank.threeOfaKind); } if (HandAnalizer.Rankcount[0] == 2 && HandAnalizer.Rankcount[1] == 2) { return(CardConstants.HandRank.twoPairs); } if (HandAnalizer.Rankcount[0] == 2) { return(CardConstants.HandRank.onePair); } else { return(CardConstants.HandRank.highCard); } }//this function determine hand value after the anlizer work on the player hand
// GET: DealCards public ActionResult PokerGame() { var dealer = new DealCards(); dealer.Deal(); ViewBag.playerCards = dealer.sortedPlayerCards; ViewBag.computerCards = dealer.sortedComputerCards; ViewBag.Winner = dealer.whoWins; var playerRanker = new HandRanker(ViewBag.playerCards); var computerRanker = new HandRanker(ViewBag.computerCards); Hand playerHand = playerRanker.EvaluateHand(); Hand computerHand = computerRanker.EvaluateHand(); ViewBag.playerHand = playerHand; ViewBag.computerHand = computerHand; return(View()); }
public RoyalFlushRanker(HandRanker nextRanker) : base(nextRanker) { }
public StraightFlushRanker(HandRanker nextRanker) : base(nextRanker) { }
void Start() { HandRanker = GetComponent <HandRanker>(); }