Console client: Show cards and result at end of hand. All-in still not working.
This commit is contained in:
@@ -159,5 +159,150 @@ namespace pokerth_lib
|
||||
|
||||
return actionString;
|
||||
}
|
||||
|
||||
protected static string CardCodeToString(int cardCode, bool plural)
|
||||
{
|
||||
string cardString;
|
||||
|
||||
switch (cardCode)
|
||||
{
|
||||
case 12 :
|
||||
cardString = "Ace";
|
||||
break;
|
||||
case 11 :
|
||||
cardString = "King";
|
||||
break;
|
||||
case 10 :
|
||||
cardString = "Queen";
|
||||
break;
|
||||
case 9 :
|
||||
cardString = "Jack";
|
||||
break;
|
||||
case 8 :
|
||||
cardString = "Ten";
|
||||
break;
|
||||
case 7 :
|
||||
cardString = "Nine";
|
||||
break;
|
||||
case 6 :
|
||||
cardString = "Eight";
|
||||
break;
|
||||
case 5 :
|
||||
cardString = "Seven";
|
||||
break;
|
||||
case 4 :
|
||||
cardString = "Six";
|
||||
break;
|
||||
case 3 :
|
||||
cardString = "Five";
|
||||
break;
|
||||
case 2 :
|
||||
cardString = "Four";
|
||||
break;
|
||||
case 1 :
|
||||
cardString = "Three";
|
||||
break;
|
||||
case 0 :
|
||||
cardString = "Deuce";
|
||||
break;
|
||||
default :
|
||||
cardString = "Invalid Card";
|
||||
break;
|
||||
}
|
||||
if (plural)
|
||||
{
|
||||
if (cardCode == 4) // sixes
|
||||
cardString += "e";
|
||||
cardString += "s";
|
||||
}
|
||||
return cardString;
|
||||
}
|
||||
|
||||
public static string CardsValueToString(int cardsValue)
|
||||
{
|
||||
string cardString;
|
||||
|
||||
int firstPart = cardsValue / 100000000;
|
||||
int secondPart = cardsValue / 1000000 - firstPart * 100;
|
||||
int thirdPart = cardsValue / 10000 - firstPart * 10000
|
||||
- secondPart * 100;
|
||||
int fourthPart = cardsValue / 100 - firstPart * 1000000
|
||||
- secondPart * 10000 - thirdPart * 100;
|
||||
int fifthPart = cardsValue - firstPart * 100000000
|
||||
- secondPart * 1000000 - thirdPart * 10000 - fourthPart * 100;
|
||||
int fifthPartA = cardsValue / 10 - firstPart * 10000000
|
||||
- secondPart * 100000 - thirdPart * 1000 - fourthPart * 10;
|
||||
int fifthPartB = cardsValue - firstPart * 100000000
|
||||
- secondPart * 1000000 - thirdPart * 10000 - fourthPart*100
|
||||
- fifthPartA*10;
|
||||
|
||||
switch (firstPart)
|
||||
{
|
||||
// Royal Flush
|
||||
case 9 :
|
||||
cardString = "Royal Flush";
|
||||
break;
|
||||
// Straight Flush
|
||||
case 8 :
|
||||
cardString = "Straight Flush, ";
|
||||
if (secondPart >= 3)
|
||||
cardString += CardCodeToString(secondPart, false) + " high";
|
||||
else
|
||||
cardString += "Invalid high";
|
||||
break;
|
||||
// Four of a Kind
|
||||
case 7 :
|
||||
cardString = "Four of a Kind, " + CardCodeToString(secondPart, true);
|
||||
break;
|
||||
// Full House
|
||||
case 6 :
|
||||
cardString = "Full House, "
|
||||
+ CardCodeToString(secondPart, true)
|
||||
+ " full of "
|
||||
+ CardCodeToString(thirdPart, true);
|
||||
break;
|
||||
// Flush
|
||||
case 5 :
|
||||
cardString = "Flush, ";
|
||||
if (secondPart >= 4)
|
||||
cardString += CardCodeToString(secondPart, false) + " high";
|
||||
else
|
||||
cardString += "Invalid high";
|
||||
break;
|
||||
// Straight
|
||||
case 4 :
|
||||
cardString = "Straight, ";
|
||||
if (secondPart >= 3)
|
||||
cardString += CardCodeToString(secondPart, false) + " high";
|
||||
else
|
||||
cardString += "Invalid high";
|
||||
break;
|
||||
// Three of a Kind
|
||||
case 3 :
|
||||
cardString = "Three of a Kind, " + CardCodeToString(secondPart, true);
|
||||
break;
|
||||
// Two Pairs
|
||||
case 2 :
|
||||
cardString = "Two Pairs, "
|
||||
+ CardCodeToString(secondPart, true)
|
||||
+ " and "
|
||||
+ CardCodeToString(secondPart, true);
|
||||
break;
|
||||
// One Pair
|
||||
case 1 :
|
||||
cardString = "One Pair, "
|
||||
+ CardCodeToString(secondPart, true);
|
||||
break;
|
||||
// Highest Card
|
||||
case 0 :
|
||||
cardString = "High Card, "
|
||||
+ CardCodeToString(secondPart, false);
|
||||
break;
|
||||
default:
|
||||
cardString = "Invalid Card Value";
|
||||
break;
|
||||
}
|
||||
return cardString;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user