Code:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <stdlib.h>
#include <time.h>
#include <sstream>
using namespace std ;
string array_card_string[2][52] =
{{"Ah", "2h", "3h", "4h", "5h", "6h", "7h", "8h", "9h", "10h", "Jh", "Qh", "Kh",
"Ad", "2d", "3d", "4d", "5d", "6d", "7d", "8d", "9d", "10d", "Jd", "Qd", "Kd",
"As", "2s", "3s", "4s", "5s", "6s", "7s", "8s", "9s", "10s", "Js", "Qs", "Ks",
"Ac", "2c", "3c", "4c", "5c", "6c", "7c", "8c", "9c", "10c", "Jc", "Qc", "Kc"},
{"11", "2", "3", "4", "5", "6", "7", "8", "9", "10", "10", "10", "10",
"11", "2", "3", "4", "5", "6", "7", "8", "9", "10", "10", "10", "10",
"11", "2", "3", "4", "5", "6", "7", "8", "9", "10", "10", "10", "10",
"11", "2", "3", "4", "5", "6", "7", "8", "9", "10", "10", "10", "10",}};
vector<int> card_vector;
int string_to_int_converter(string abc);
int RNG(int cards_in_deck);
void refresh_deck();
int deal_a_card(int cards_in_deck);
int main ()
{
srand(unsigned (time(0)));
int cards_in_deck = 53;
refresh_deck();
int test = 0;
do{
int card1 = deal_a_card(cards_in_deck--);
int card2 = deal_a_card(cards_in_deck--);
cout << endl << "Your hand is " << array_card_string[0][card1] << " " << array_card_string[0][card2] << endl ;
cout << "Your hand value is " << ((string_to_int_converter(string (array_card_string[1][card1]))) + (string_to_int_converter(string (array_card_string[1][card2])))) << endl ;
cin >> test;
} while (test != 0) ;
return 0 ;
}
int RNG(int cards_in_deck)
{
int random_number = rand() % cards_in_deck ;
return random_number;
}
void refresh_deck()
{
for (int y = 0 ; y != 52 ; y++) {
card_vector.push_back (y);
};
}
int deal_a_card(int cards_in_deck)
{
cards_in_deck--;
int ticker = 0 ;
do {
swap (card_vector[0], card_vector[RNG(cards_in_deck)]) ; // shuffles the deck
ticker++ ;
} while (ticker != cards_in_deck) ;
int xyz ;
xyz = card_vector.at(0);
card_vector.erase (card_vector.begin());
return xyz;
}
int string_to_int_converter(string abc)
{
std::string be_converted = abc;
int value = atoi(be_converted.c_str());
return value;
}