Dice game loops

hi I have this code that is driving me crazy but I got it to work for the most part my loops just doesn't work can someone help
Her is my code

#include<iostream>
#include<ctime>
#include<cstdlib>
#include<ctime>

using namespace std;

// Declare Variables
int pigDice = 0;
int gamerDice = 0;
int gamerTurn = 0;
int computerTurn = 0;
int gamerInput = 0;
int totalScore;
const int SCORE_LIMIT = 100;
char choice = ' ';
int gamerScore = 0;
int turnScore = 0;
int pigScore = 0;
int main()
{
cout << "Welcome to ARCADEMANIA" << endl;
cout << "Enter 1 to play Pig " << endl;
cout << "Enter 2 to play Blackjack dice" << endl;
cin >> gamerInput;




srand(static_cast<int>(time(0)));
pigDice = (rand() % 6) + 1;
gamerDice = (rand() % 6) + 1;
gamerScore = gamerScore + gamerDice;

while
(gamerInput == 1)
{

char gamerName[12];
cout << "WELCOME TO PIG GAME" << endl;
cout << "Hi welcome to Pig you will be trying to beat Wilbert to 100 pts. Rember you cannot roll a 1 or you will lose a turn and will not get any points. Wilbert is excited to play goodluck and roll on" << endl;
cout << "Please enter your gamer name" << endl;
cin >> gamerName;
cout << " Welcome to Pig " << gamerName << " Lets see that you got!!!!!" << endl;

cout << "Press r to roll.\n" << endl;
cin >> choice;


do
{

cout << "Your roll is a " << gamerDice << endl;
cout << "Your total score is " << gamerScore << endl;
cin >> choice;
gamerDice = (rand() % 6) + 1;
gamerScore = gamerScore + gamerDice;
}


while (choice == 'r');

{
cout << "Will you like to roll" << endl;
cout << "Press r to roll.\n" << endl;
cin >> choice;
cout << "Your roll is a " << gamerDice << endl;
cout << "Your total score is " << gamerScore << endl;
cout << "Will you like to roll again" << endl;
gamerDice = (rand() % 6) + 1;
gamerScore = gamerScore + gamerDice;

}


if (gamerDice == 1)

cout << gamerName << "You lose your points for this round your " << totalScore << endl;


do
{

pigDice = (rand() % 6) + 1;
pigScore = pigScore + pigDice;
cout << "Your roll is a " << pigDice << endl;
cout << "Your total score is " << pigScore << endl;

}

while (pigDice != 1 && totalScore < 20);


if (pigDice == 1)
cout << "You lose your turn Pig!!! " << gamerName << " press 'r' to roll die. \n" << endl;















system("pause");
return 0;

}
}
You have some scoping issues and it's no surprise since you've yet to develop a white spacing style preference. Let's clean up your white space, add some comments and use the code blocks. Then see if you can see the problem:
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
#include<iostream>
#include<ctime>
#include<cstdlib>
#include<ctime>

using namespace std;

// Declare Variables
int pigDice = 0;
int gamerDice = 0;
int gamerTurn = 0;
int computerTurn = 0;
int gamerInput = 0;
int totalScore;
const int SCORE_LIMIT = 100;
char choice = ' ';
int gamerScore = 0;
int turnScore = 0;
int pigScore = 0;


int main()
{
	cout << "Welcome to ARCADEMANIA" << endl;
	cout << "Enter 1 to play Pig " << endl;
	cout << "Enter 2 to play Blackjack dice" << endl;
	cin >> gamerInput;

	srand(static_cast<int>(time(0)));
	pigDice = (rand() % 6) + 1;
	gamerDice = (rand() % 6) + 1;
	gamerScore = gamerScore + gamerDice;

	while(gamerInput == 1)
	{
		char gamerName[12];
		cout << "WELCOME TO PIG GAME" << endl;
		cout << "Hi welcome to Pig you will be trying to beat Wilbert to 100 pts. Rember you cannot roll a 1 or you will lose a turn and will not get any points. Wilbert is excited to play goodluck and roll on" << endl;
		cout << "Please enter your gamer name" << endl;
		cin >> gamerName;
		cout << " Welcome to Pig " << gamerName << " Lets see that you got!!!!!" << endl;

		cout << "Press r to roll.\n" << endl;
		cin >> choice;

		do
		{
			cout << "Your roll is a " << gamerDice << endl;
			cout << "Your total score is " << gamerScore << endl;
			cin >> choice;
			gamerDice = (rand() % 6) + 1;
			gamerScore = gamerScore + gamerDice;
		}while (choice == 'r'); //END OF DO FROM LINE 46

		
		{//THIS IS WHAT IS CALLED AN ANONYMOUS SCOPE. IT DOES NOTHING FOR YOU IN THIS CONTEXT
			cout << "Will you like to roll" << endl;
			cout << "Press r to roll.\n" << endl;
			cin >> choice;
			cout << "Your roll is a " << gamerDice << endl;
			cout << "Your total score is " << gamerScore << endl;
			cout << "Will you like to roll again" << endl;
			gamerDice = (rand() % 6) + 1;
			gamerScore = gamerScore + gamerDice;
		}//END OF USELESS ANONYMOUS SCOPE

		if (gamerDice == 1) cout << gamerName << "You lose your points for this round your " << totalScore << endl;

		do
		{
			pigDice = (rand() % 6) + 1;
			pigScore = pigScore + pigDice;
			cout << "Your roll is a " << pigDice << endl;
			cout << "Your total score is " << pigScore << endl;
		}while (pigDice != 1 && totalScore < 20); //END OF DO FROM LINE 69

		if (pigDice == 1) cout << "You lose your turn Pig!!! " << gamerName << " press 'r' to roll die. \n" << endl;

		system("pause");
		return 0;
	}//END OF WHILE FROM LINE 34
}//END OF MAIN 
ok so when I roll a one how do I switch it to the pig turn I tried a switch statement and I couldn't get it to work





#include<iostream>
#include<ctime>
#include<cstdlib>
#include<ctime>

using namespace std;

// Declare Variables
int pigDice = 0;
int gamerDice = 0;
int gamerTurn = 0;
int computerTurn = 0;
int gamerInput = 0;
int totalScore;
const int SCORE_LIMIT = 100;
char choice = ' ';
int gamerScore = 0;
int turnScore = 0;
int pigScore = 0;


int main()
{
cout << "Welcome to ARCADEMANIA" << endl;
cout << "Enter 1 to play Pig " << endl;
cout << "Enter 2 to play Blackjack dice" << endl;
cin >> gamerInput;

srand(static_cast<int>(time(0)));
pigDice = (rand() % 6) + 1;
gamerDice = (rand() % 6) + 1;
gamerScore = gamerScore + gamerDice;

while (gamerInput == 1)
{
char gamerName[12];
cout << "WELCOME TO PIG GAME" << endl;
cout << "Hi welcome to Pig you will be trying to beat Wilbert to 100 pts. Rember you cannot roll a 1 or you will lose a turn and will not get any points. Wilbert is excited to play goodluck and roll on" << endl;
cout << "Please enter your gamer name" << endl;
cin >> gamerName;
cout << " Welcome to Pig " << gamerName << " Lets see that you got!!!!!" << endl;

cout << "Press r to roll.\n" << endl;
cin >> choice;

do
{
cout << "Your roll is a " << gamerDice << endl;
cout << "Your total score is " << gamerScore << endl;
cin >> choice;
gamerDice = (rand() % 6) + 1;
gamerScore = gamerScore + gamerDice;
} while (choice == 'r');




if (gamerDice == 1) cout << gamerName << "You lose your points for this round your " << totalScore << endl;

do
{
pigDice = (rand() % 6) + 1;
pigScore = pigScore + pigDice;
cout << "Your roll is a " << pigDice << endl;
cout << "Your total score is " << pigScore << endl;
} while (pigDice != 1 && totalScore < 20);

if (pigDice == 1) cout << "You lose your turn Pig!!! " << gamerName << " press 'r' to roll die. \n" << endl;

system("pause");
return 0;
}
Topic archived. No new replies allowed.