本文整理汇总了C++中Hand::getCard方法的典型用法代码示例。如果您正苦于以下问题:C++ Hand::getCard方法的具体用法?C++ Hand::getCard怎么用?C++ Hand::getCard使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hand
的用法示例。
在下文中一共展示了Hand::getCard方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: finalizeRound
void PokerDriver::finalizeRound() {
for (int i = 0; i < m_Players.size(); i++) {
m_Players[i]->setMoneyInPot(0);
if (m_Players[i]->getMoneyInPot() != 0)
cout << "Get_Money_FAILURE" << endl;
}
m_PotMoney = 0;
Hand *hand;
for (int i = 0; i < m_Players.size(); i++) {
m_Players[i]->setFolded(false);
hand = m_Players[i]->getHand();
if (hand->getCard(2) != NULL)
cout << "Get_Card_SUCCESS" << endl;
else
cout << "FAILURE_5" << endl;
for (int j = 0; j < 5; j++) {
m_Deck.discardCard(hand->getCard(j));
cout << "Discard_SUCCESS" << endl;
}
}
}
示例2: calculateHandValue
// Cycles through the hand passed and sums
// values of the cards.
// As hands are initialised to have all jokers
// the jokers are not totaled up
int calculateHandValue(Hand myHand)
{
int total = 0;
for(int i = 0; i < 11; i++)
{
if(myHand.getCard(i).getCardDisplay() != 'X')
total += myHand.getCard(i).getCardValue();
}
return total;
}
示例3: isPokerPlayable
bool Straight::isPokerPlayable(Hand& selection, Pile& playPile){
Hand topHand = playPile.getTopHand();
if(topHand.size() == '\0'){
return true;
}else if(topHand.size() != 5){
return false;
}
//Highest ranking card at the top of the sequence wins
if((selection.getCard(0)->getRank() > topHand.getCard(0)->getRank())){
return true;
}
}
示例4: computeWinner
void computeWinner(Hand computerCards, Hand playerCards)
{
// As computer wins when it has 21 reguardless
// this case is first
if(calculateHandValue(computerCards) == 21)
{
cout << "Computer wins with 21 hand!\n";
}
// If player has 21 and computer doesn't
// they win
else if(calculateHandValue(playerCards) == 21)
{
cout << "You win!\n"
"Computer had:\n";
// Display all cards in computers hand that aren't Jokers
// This proves to the player no foul play
for(int j = 0; j < 11; j++)
{
if(computerCards.getCard(j).getCardDisplay() != 'X')
printCard(computerCards.getCard(j));
}
}
// If computer hasn't busted and has a higher score than the player computer wins
else if((calculateHandValue(computerCards) > calculateHandValue(playerCards)) && (calculateHandValue(computerCards) < 21))
{
cout << "Computer wins! With: \n";
// Display all cards in computers hand that aren't Jokers
// This proves to the player no foul play
for(int j = 0; j < 11; j++)
{
if(computerCards.getCard(j).getCardDisplay() != 'X')
printCard(computerCards.getCard(j));
}
cout << "Computer cards value is: " << calculateHandValue(computerCards) << endl;
}
// If player hasn't busted and has a higher score than computer
else if((calculateHandValue(computerCards) < calculateHandValue(playerCards)) && calculateHandValue(playerCards) < 21)
{
cout << "You win!\n"
"Computer had:\n";
// Display all cards in computers hand that aren't Jokers
// This proves to the player no foul play
for(int j = 0; j < 11; j++)
{
if(computerCards.getCard(j).getCardDisplay() != 'X')
printCard(computerCards.getCard(j));
}
}
// If player has busted. At this stage computer 'wins'
else if(calculateHandValue(playerCards) > 21)
cout << "You've busted!\n";
else
{ // If computer busted
cout << "You win!\n"
"Computer had:\n";
for(int j = 0; j < 11; j++)
{
if(computerCards.getCard(j).getCardDisplay() != 'X')
printCard(computerCards.getCard(j));
}
cout << "Computer busted!\n";
}
}
示例5: playerTurn
void playerTurn(Hand playerCards, Deck GameDeck, int twistIndex)
{
int usrOption;
cin >> usrOption; // Take option from user either 1, 2 or 3. Any other is erroneous
if(calculateHandValue(playerCards) <=12 && usrOption == 3)
{
// burn - redeal
cout << "Burning\n";
do{
playerCards.addToHand(generateRandom(4), generateRandom(13), GameDeck, 0);
}while(playerCards.getCard(0).getCardDisplay() == 'X'); // Joker check
// Ensures that the card generated is not joker i.e. has not been used
do{
playerCards.addToHand(generateRandom(4), generateRandom(13), GameDeck, 1);
}while(playerCards.getCard(1).getCardDisplay() == 'X'); // Joker check
// Ensures that the card generated is not joker i.e. has not been used
// Display cards
cout << "Your hand is:\n";
printCard(playerCards.getCard(0));
printCard(playerCards.getCard(1));
// passes hand value, player hand, deck and false (not stuck) and index
// to print options. Using Index Ensures card is drawn the card does not replace
// an existing card
printOptions(calculateHandValue(playerCards), playerCards, GameDeck, false, twistIndex);
}
else if(usrOption == 2 && calculateHandValue(playerCards) < 21)
{
// twist
cout << "Twisting\n";
if(playerCards.getCard(twistIndex).getCardDisplay() == 'X')
{
//stuff
do{
playerCards.addToHand(generateRandom(4), generateRandom(13), GameDeck, twistIndex);
}while(playerCards.getCard(twistIndex).getCardDisplay() == 'X'); // Joker check
// Ensures that the card generated is not joker i.e. has not been used
twistIndex++;
cout << "Your hand is:\n";
for(int j = 0; j < 11; j++)
{
if(playerCards.getCard(j).getCardDisplay() != 'X')
printCard(playerCards.getCard(j));
}
}
//end if
printOptions(calculateHandValue(playerCards), playerCards, GameDeck, false, twistIndex);
}
else if(usrOption == 1)
{
// stick - begin comp turn
cout << "Stuck\n";
// Causes loop to exit - Computer turn now begins
}
else
{
cout << "Invalid option, please retry\n";
printOptions(calculateHandValue(playerCards), playerCards, GameDeck, false, twistIndex);
}
}