Console client: Show cards and result at end of hand. All-in still not working.

This commit is contained in:
lotodore
2008-12-25 16:46:38 +00:00
parent 6797fa3f54
commit 4e6b9d9357
9 changed files with 278 additions and 5 deletions
+145
View File
@@ -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;
}
}
}