BlackJack Game C++
up vote
0
down vote
favorite
I am new to coding with c++ and I am needing some advice about a code I am working on for a BlackJack game. So Far I have built my card and deck class for the blackjack game but I am finding it difficult to what I need to do to assign values to the cards.
This is what I have got so far
BlackJack.cpp
# include <iostream>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
Card .h
# include <iostream>
# include <string>
# include <array>
# ifndef CARD_H
# define CARD_H
using namespace std;
class Card
{
public:
Card(int = 0, int = 0, int = 0);
int getSuit();
int getFace();
int getValue();
void setFace(int);
void setSuit(int);
void setValue(int);
string toString();
static const array<string, 4> suits;
static const array<string, 14> faces;
static const array<int, 14> values;
private:
int face;
int suit;
int value;
};
# endif
Card.cpp
#include "Card.h"
using namespace std;
const array<string, 14> Card::faces{ "ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "ACE" };
const array<string, 4> Card::suits{ "Hearts", "Diamonds", "Spades", "Clubs" };
const array<int, 14> Card::values{ 1,2,3,4,5,6,7,8,9,10,10,10,10,11 };
Card::Card(int cardt1, int cardt2, int v1){
face = cardt1;
suit = cardt2;
value = v1;
}
int Card::getFace() {
return face;
}
int Card::getSuit() {
return suit;
}
int Card::getValue() {
return value;
}
void Card::setSuit(int cardt2){
suit = cardt2;
}
void Card::setFace(int cardt1) {
face = cardt1;
}
void Card::setValue(int v1) {
value = v1;
}
string Card::toString() {
return (faces[face] + " of " + suits[suit]);
}
CardDeck.h
# ifndef CARDDECK_H
# define CARDDECK_H
# include <iostream>
# include "Card.h"
# include <vector>
class CardDeck {
public:
CardDeck();
void shuffle();
Card dealCard();
bool moveCard();
void printDeck();
private:
vector<Card> deck;
int currentCard;
};
#endif
CardDeck.cpp
# include <iostream>
# include <ctime>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
If you can give me any help or advice I would be thankful. I have a feeling it may be the vectors being string values but just want to know I am going in the right direction
c++
New contributor
add a comment |
up vote
0
down vote
favorite
I am new to coding with c++ and I am needing some advice about a code I am working on for a BlackJack game. So Far I have built my card and deck class for the blackjack game but I am finding it difficult to what I need to do to assign values to the cards.
This is what I have got so far
BlackJack.cpp
# include <iostream>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
Card .h
# include <iostream>
# include <string>
# include <array>
# ifndef CARD_H
# define CARD_H
using namespace std;
class Card
{
public:
Card(int = 0, int = 0, int = 0);
int getSuit();
int getFace();
int getValue();
void setFace(int);
void setSuit(int);
void setValue(int);
string toString();
static const array<string, 4> suits;
static const array<string, 14> faces;
static const array<int, 14> values;
private:
int face;
int suit;
int value;
};
# endif
Card.cpp
#include "Card.h"
using namespace std;
const array<string, 14> Card::faces{ "ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "ACE" };
const array<string, 4> Card::suits{ "Hearts", "Diamonds", "Spades", "Clubs" };
const array<int, 14> Card::values{ 1,2,3,4,5,6,7,8,9,10,10,10,10,11 };
Card::Card(int cardt1, int cardt2, int v1){
face = cardt1;
suit = cardt2;
value = v1;
}
int Card::getFace() {
return face;
}
int Card::getSuit() {
return suit;
}
int Card::getValue() {
return value;
}
void Card::setSuit(int cardt2){
suit = cardt2;
}
void Card::setFace(int cardt1) {
face = cardt1;
}
void Card::setValue(int v1) {
value = v1;
}
string Card::toString() {
return (faces[face] + " of " + suits[suit]);
}
CardDeck.h
# ifndef CARDDECK_H
# define CARDDECK_H
# include <iostream>
# include "Card.h"
# include <vector>
class CardDeck {
public:
CardDeck();
void shuffle();
Card dealCard();
bool moveCard();
void printDeck();
private:
vector<Card> deck;
int currentCard;
};
#endif
CardDeck.cpp
# include <iostream>
# include <ctime>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
If you can give me any help or advice I would be thankful. I have a feeling it may be the vectors being string values but just want to know I am going in the right direction
c++
New contributor
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am new to coding with c++ and I am needing some advice about a code I am working on for a BlackJack game. So Far I have built my card and deck class for the blackjack game but I am finding it difficult to what I need to do to assign values to the cards.
This is what I have got so far
BlackJack.cpp
# include <iostream>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
Card .h
# include <iostream>
# include <string>
# include <array>
# ifndef CARD_H
# define CARD_H
using namespace std;
class Card
{
public:
Card(int = 0, int = 0, int = 0);
int getSuit();
int getFace();
int getValue();
void setFace(int);
void setSuit(int);
void setValue(int);
string toString();
static const array<string, 4> suits;
static const array<string, 14> faces;
static const array<int, 14> values;
private:
int face;
int suit;
int value;
};
# endif
Card.cpp
#include "Card.h"
using namespace std;
const array<string, 14> Card::faces{ "ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "ACE" };
const array<string, 4> Card::suits{ "Hearts", "Diamonds", "Spades", "Clubs" };
const array<int, 14> Card::values{ 1,2,3,4,5,6,7,8,9,10,10,10,10,11 };
Card::Card(int cardt1, int cardt2, int v1){
face = cardt1;
suit = cardt2;
value = v1;
}
int Card::getFace() {
return face;
}
int Card::getSuit() {
return suit;
}
int Card::getValue() {
return value;
}
void Card::setSuit(int cardt2){
suit = cardt2;
}
void Card::setFace(int cardt1) {
face = cardt1;
}
void Card::setValue(int v1) {
value = v1;
}
string Card::toString() {
return (faces[face] + " of " + suits[suit]);
}
CardDeck.h
# ifndef CARDDECK_H
# define CARDDECK_H
# include <iostream>
# include "Card.h"
# include <vector>
class CardDeck {
public:
CardDeck();
void shuffle();
Card dealCard();
bool moveCard();
void printDeck();
private:
vector<Card> deck;
int currentCard;
};
#endif
CardDeck.cpp
# include <iostream>
# include <ctime>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
If you can give me any help or advice I would be thankful. I have a feeling it may be the vectors being string values but just want to know I am going in the right direction
c++
New contributor
I am new to coding with c++ and I am needing some advice about a code I am working on for a BlackJack game. So Far I have built my card and deck class for the blackjack game but I am finding it difficult to what I need to do to assign values to the cards.
This is what I have got so far
BlackJack.cpp
# include <iostream>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
Card .h
# include <iostream>
# include <string>
# include <array>
# ifndef CARD_H
# define CARD_H
using namespace std;
class Card
{
public:
Card(int = 0, int = 0, int = 0);
int getSuit();
int getFace();
int getValue();
void setFace(int);
void setSuit(int);
void setValue(int);
string toString();
static const array<string, 4> suits;
static const array<string, 14> faces;
static const array<int, 14> values;
private:
int face;
int suit;
int value;
};
# endif
Card.cpp
#include "Card.h"
using namespace std;
const array<string, 14> Card::faces{ "ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "ACE" };
const array<string, 4> Card::suits{ "Hearts", "Diamonds", "Spades", "Clubs" };
const array<int, 14> Card::values{ 1,2,3,4,5,6,7,8,9,10,10,10,10,11 };
Card::Card(int cardt1, int cardt2, int v1){
face = cardt1;
suit = cardt2;
value = v1;
}
int Card::getFace() {
return face;
}
int Card::getSuit() {
return suit;
}
int Card::getValue() {
return value;
}
void Card::setSuit(int cardt2){
suit = cardt2;
}
void Card::setFace(int cardt1) {
face = cardt1;
}
void Card::setValue(int v1) {
value = v1;
}
string Card::toString() {
return (faces[face] + " of " + suits[suit]);
}
CardDeck.h
# ifndef CARDDECK_H
# define CARDDECK_H
# include <iostream>
# include "Card.h"
# include <vector>
class CardDeck {
public:
CardDeck();
void shuffle();
Card dealCard();
bool moveCard();
void printDeck();
private:
vector<Card> deck;
int currentCard;
};
#endif
CardDeck.cpp
# include <iostream>
# include <ctime>
# include <string>
# include "Player.h"
# include "Card.h"
# include "CardDeck.h"
using namespace std;
int choice;
char choices;
Player player;
CardDeck deck1;
Card card1, card2, card3, card4, card5, card6, card7, card8, card9, card10;
void BlackJackwelcome();
void BlackJackmenu();
void BlackJackGame();
int main() {
string first;
string second;
BlackJackwelcome();
cout << "nFirst Name: ";
cin >> first;
player.setfirstName(first);
cout << "nSecond Name: ";
cin >> second;
player.setsecondName(second);
cout << "nHi there " + player.getName();
cout << "n" << endl;
cout << "Please choose from the menu below what you would like to do " + player.getName() << endl;
BlackJackmenu();
}
void BlackJackwelcome() {
cout << " ------------------------------------------------------- " << endl;
cout << " Welcome to BlackJack nnnn " << endl;
cout << " Please enter your First and Last Name down below " << endl;
}
void BlackJackmenu() {
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| 1) Play BlackJack. ||" << endl;
cout << "|| 2) Rules of the Game. ||" << endl;
cout << "|| 3) Details of the Designer. ||" << endl;
cout << "|| 4) Exit the Game. ||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cin >> choice;
if (choice == 1) {
cout << "Lets play BlackJack" << endl;
BlackJackGame();
}
else if (choice == 2) {
cout << "You have chosen to know the rules of BlackJack." << endl;
cout << "Press the 'Enter' Key to continue." << endl;
cin.get();
cin.get();
cout << " The rules of BlackJack are detailed below." << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Players try to make the highest value hand they can, up to a maximum of 21. ||" << endl;
cout << "|| Hands valued at 22 or more automatically lose – this is known as going bust. ||" << endl;
cout << "|| Players can usually stand when they want. In this game the dealer must stand on a soft 17. ||" << endl;
cout << "|| Hand value is determined by the numerical value of the cards in your hand. ||" << endl;
cout << "|| Numbered cards are assigned their number in points – 7s are worth 7 points, 3s are worth 3 points, and so on. ||" << endl;
cout << "||The high cards 10 - K are all worth 10 points, while Aces carry a value of 1 or 11, depending on the value of your hand at any time.||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 3) {
cout << "You have chosen to read details of the game designer. Press Enter to continue" << endl;
cin.get();
cin.get();
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|| Name of the designer is Ryan Fox. ||" << endl;
cout << "|| Game designed in December 2018. ||" << endl;
cout << "|| Designed for Coursework assignment COM 357 Object Oriented Programming. ||" << endl;
cout << "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "Lets to go back to the main menu" << endl;
cout << "Press the 'Enter' key" << endl;
cin.get();
BlackJackmenu();
}
else if (choice == 4) {
cout << "Thank you for playing. Good Bye." << endl;
}
else if (choice != 4) {
cout << "Sorry that number is not on the menu. Would you like to see the choices again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
if (choices == 'Y' || 'y') {
BlackJackmenu();
}
else if (choices == 'N' || 'n') {
cout << "Thanks for playing. Good Bye." << endl;
}
else {
cout << "Invalid choice. Start the program again please." << endl;
}
}
}
void BlackJackGame() {
const int win = 2;
const int Blackjack = 3;
const int GAMELIMIT = 21;
const int Dealer = 17;
int cardtotal1=0, cardtotal2=0;
cout << "Let's play BlackJack." << endl;
cout << "Before we start I am going to show you the deck." << endl;
deck1.printDeck();
cout << "After seeing the cards in the deck, whenever you are ready press the 'Enter' key to continue." << endl;
cin.get();
cin.get();
cout << "Firstly, let's shuffle the deck." << endl;
deck1.shuffle();
cout << "The cards have been shuffled. Press the 'Enter' to continue to dealing the cards.";
cin.get();
cin.get();
card1 = deck1.dealCard();
card2 = deck1.dealCard();
card3 = deck1.dealCard();
cout << "Players cards are: " << card1.toString() << " and " << card3.toString() << endl;
cardtotal1;
cout << "With these cards your total is: " << cardtotal1 << endl;
cout << "Dealer has " << card2.toString() << " and ****" << endl;
cout << "Would you like to play again?" << endl;
cout << "Enter Y/y for YES and enter N/n for NO:" << endl;
cin >> choices;
switch (choices) {
case 'Y':
case 'y':
BlackJackGame();
break;
case 'N':
case 'n': cout << "Thanks for playing. Goodbye." << endl;
break;
default: cout << "You didn't enter any of the choices needed to proceed. Please enter Y/y for YES or N/n for NO.n";
}
return;
}
If you can give me any help or advice I would be thankful. I have a feeling it may be the vectors being string values but just want to know I am going in the right direction
c++
c++
New contributor
New contributor
New contributor
asked 5 mins ago
foxy1000000
1
1
New contributor
New contributor
add a comment |
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "196"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
foxy1000000 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209762%2fblackjack-game-c%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
foxy1000000 is a new contributor. Be nice, and check out our Code of Conduct.
foxy1000000 is a new contributor. Be nice, and check out our Code of Conduct.
foxy1000000 is a new contributor. Be nice, and check out our Code of Conduct.
foxy1000000 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209762%2fblackjack-game-c%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown