Help, I'm stuck on this poker program...

Hello there, I'm still a beginner to this C++ programming and so I'm stuck with this project that I have due. I need to come up with a program that works with everything that I have learned in class. So far, this is difficult. I need help with any errors I have so far and also, I need some help knowing what to do next. My program must include the basics of C++ like loops, arrays... etc. I just don't remember how to implement them. Thank you for your help.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <string>
#include <time.h>

using namespace std;


int main()

{
	
	cout << "\n";
	cout << " ///          /// ///////  ///    /////////    /////////// ////   ////  ///////";
	cout << "  ///         /// ///      ///    ///          ///     /// ////   ///// ///\n";
	cout << " ///        /// ///      ///    ///          ///     /// /// // ///// ///\n";
	cout << " ///  ///  /// ///////  ///    ///          ///     /// /// //////// ///////\n";
	cout << " /// //// /// ///      ///     ///         ///     /// ///  /// /// ///\n";
	cout << " ///// ///// ///      ///       ///       ///     /// ///   // /// ///\n";
	cout << " ///    /// ///////  //////////  ////////  ///////// ///      /// ///////\n";
	cout << " \n";
	cout << " \n";
	cout << "\t\t\t////////////  ///////////\n";
	cout << "\t\t\t    ///      ///     ///\n";
	cout << "\t\t\t    ///     ///     ///\n";
	cout << "\t\t\t    ///    ///     ///\n";
	cout << "\t\t\t    ///   ///     ///\n";
	cout << "\t\t\t    ///  ///     ///\n";
	cout << "\t\t\t    ///   /////////\n";
	cout << " \n";
	cout << " \n";
	cout << "  ////////////   ///////////  ///    /// ///////  ////////\n";
	cout << "  ///     ///   ///     ///  ///   ///  ///      ///   ///    ///      ///\n";
	cout << "  ///     ///  ///     ///  ///  ///   ///      ///    ///   ///      ///\n";
	cout << "  //////////  ///     ///  ///////    ///////  ////////// ///////  ///////\n";
	cout << "  ///        ///     ///  ///  ///   ///      ///  ///     ///      ///\n";
	cout << "  ///       ///     ///  ///   ///  ///      ///    ///   ///      ///\n";
	cout << "  ///        /////////  ///    /// ///////  ///     ///\n\n\n";
	
	string name;

	cout << "Please type your name: ";
	cin >> name;
	cout << "\nOkay " << name << ", let's play some poker++!\n\n";

	system ("cls");

	srand(time(0));
	
	int deck[52]={0};
	int phand[5];
	int num = rand()%52;

	while (deck[num]==1);
	{
		num=rand()%52;
		phand[x]=num;
	}


	string suitnames[4]={"Spades","Diamonds","Hearts","Clubs"};
	string ranknames[13]={"Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};
	
	if (num <= 12)
	{
		cout << suitnames[0] << endl;
		num = num%13;
		cout << ranknames[num] << endl;
	}
	else if (num <= 25)
	{
		cout << suitnames[0] << endl;
		num = num%26;
		cout << ranknames[num] << endl;
	}
	else if (num <= 39)
	{
		cout << suitnames[0] << endl;
		num = num%40;
		cout << ranknames[num] << endl;
	}
	else if (num <= 51)
	{
		cout << suitnames[0] << endl;
		num = num%52;
		cout << ranknames[num] << endl;
	}


	return 0;
}
Before we give any help, what have you learnt so far in class? For example, have you learnt about vectors or structs, or are you just to use basic arrays and control loops? Have you learnt about functions?
Last edited on
Well we learned about arrays, loops, functions yes, and everything else that is on the code. Oh infiles and out, just the basics not too complicated stuff. No vectors, we havent learned that yet or structs... We are to use arrays and loops.
Ok, so an overview is (I'm assuming 5 card draw poker here?):
-Set up a shuffle for the cards. You could do this by randomly swapping elements in the array using rand() from <cstdlib>. (1)
-Deal out the hands. (2)
-Prompt players for bets (3)
-Prompt the player for which cards they want to change (4)
-Deal out the next cards (5)
-Prompt players for best (3)
-Prompt the player for which cards to change again (4)
-Deal out the card again (5)
-Evaluate the hand values (6)
-Reward the winner with monies (7)

Each number in brackets can be a separate function. Then you will end up with a main that looks mostly like this:
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    //Welcome to the game 
    while(true) //Game loop
    {
     //Lots of function calls
    //Some kind of break condition 
    //e.g. When player goes bankrupt 
    }
    return 0; 
}


Let me know if you're stuck on any aspect in particular and I'll try to help out. note also you have some problems in your above code and might want to review it.
1
2
3
4
5
6
7
int num = rand()%52;//Why? 

	while (deck[num]==1); //You initialized all elements of deck to 0... 
	{
		num=rand()%52;
		phand[x]=num;
	}
Last edited on
Topic archived. No new replies allowed.