📄 blackjack.cpp
字号:
//------------------------------------------------- |
//BlackJack w/ Dealer rules(most of them...I think) |
//By Sean Callan |
//Finished : 4-7-2002 |
//------------------------------------------------- |
#include <conio.h>
#include <iomanip.h>
//-----------------------|
//Dealer related funtions|
//-----------------------|
int dealersCards();
//-----------------------|
//-----------------------|
//Player related funtions|
//-----------------------|
void dealCards();
void cardConvert();
bool checkcards();
void checkScore();
//-----------------------|
//-----------------------|
//All needed variables |
//-----------------------|
//Player's
int card,card_total;
int games;
int loses,wins;
//Dealer's
int dealer_total,dealer_card;
//-----------------------|
void blackJack()
{
int game_count = 0;
cout << "\t Welcome to BlackJack\n";
cout << "\n\n";
cout << "How many games would you like to play?";
cin >> games;
do
{
card_total =0;
dealer_total=0;
dealCards();
game_count++;
}while(game_count < games);
if(wins < 0)
cout << "You never won, how sad\n";
else if(wins > 0 && loses > 0)
{
cout << "You won " << wins << " times\n";
cout << "You lose " << loses << " times\n";
}
else
{
cout << "WOW! You only won!\n";
cout << wins << " wins in a row,nicely done!\n";
}
}
void dealCards()
{
char yesORno;
card = random(13)+1;
cardConvert();
card = random(13)+1;
cardConvert();
do
{
cout << "Your total is currently " << card_total << endl;
cout << "Would you like another card(y/n)?";
cin >> yesORno;
if(yesORno == 'y')
{
card = random(13)+1;
cardConvert();
checkcards();
if(checkcards() == false)
{
checkScore();
yesORno = 'n';
}
}
else
{
yesORno ='n';
checkScore();
}
}while(yesORno != 'n');
}
void cardConvert()
{
switch(card)
{
case 1: cout << "You have an Ace\n";
if(card_total+11 > 21)
card_total = card_total+1;
else
card_total = card_total+11;
break;
case 11: cout << "You have a Jack\n";
card_total = card_total+10;
break;
case 12: cout << "You have a Queen\n";
card_total = card_total+10;
break;
case 13: cout << "You have a King\n";
card_total = card_total+10;
break;
default: cout << "You have a " << card << endl;
card_total = card_total+card;
break;
}
}
bool checkcards()
{
if(card_total < 21)
return true;
else
return false;
}
void checkScore()
{
if(card_total > 21 && dealer_total > 21)
{
cout << "You BUST!\n\n\n";
loses++;
}
else if(card_total > 21 && dealer_total < 21)
{
cout << "You BUST!\n\n\n";
loses++;
}
else if(card_total > 21 && dealer_total <= 21)
{
cout << "You BUST!\n\n\n";
loses++;
}
else if(card_total < 21 && dealer_total > 21)
{
cout << "You WIN!\n\n\n";
wins++;
}
else if(card_total > dealer_total && card_total < 21)
{
cout << "You WIN!\n\n\n";
wins++;
}
else if(card_total == 21 && dealer_total > 21 || dealer_total < 21)
{
cout << "You WIN!\n\n\n";
wins++;
}
else if(card_total < dealer_total && dealer_total < 21)
{
cout << "You LOSE!\n\n\n";
loses++;
}
else if(card_total == dealer_total && card_total < 21)
{
cout << "You LOSE!\n\n\n";
loses++;
}
else if(dealer_total == 21 && card_total < 21)
{
cout << "You LOSE!\n\n\n";
loses++;
}
}
int dealersCards()
{
dealer_card = random(10)+1;
if(dealer_card == 1)
{
if(dealer_card+11 > 21)
dealer_total = dealer_total+1;
else
dealer_total = dealer_total+11;
}
else
dealer_total = dealer_total + dealer_card;
dealer_card = random(10)+1;
if(dealer_card == 1)
{
if(dealer_card+11 > 21)
dealer_total = dealer_total+1;
else
dealer_total = dealer_total+11;
}
else
dealer_total = dealer_total + dealer_card;
do
{
dealer_card = random(10)+1;
if(dealer_card == 1)
{
if(dealer_card+11 > 21)
dealer_total = dealer_total+1;
else
dealer_total = dealer_total+11;
}
else
dealer_total = dealer_total + dealer_card;
}while(dealer_total < 17);
return dealer_total;
}
int main()
{
randomize();
blackJack();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -