J'ai un jeu de désvérifier pour voir qui gagne dans un jeu de dés
int userGame()
{
cout << " User turn --- Press 2 to roll" << endl;
cin >> userInput;
if (userInput == 2)
{
Dice();
cout << "The user rolled Dice 1 =" << die1 << " and Dice 2 = " << die2 << endl;
cout << "Total = " << die1 + die2 << endl;
}
else {
cout << "Wrong input. Try again";
//userGame();
}
return (die1 + die2);
}
et maintenant int main, je -
int main()
{
// set the seed
srand(time(0));
userGame();
while (true)
{
if (userGame() == 7 || userGame() == 11)
{
cout << "You won" << endl;
break;
}
else if (userGame() == 2)
{
cout << "You loose" <<endl;
break;
}
else
{
break;
}
}
return 0;
Dice();
#include<iostream>
#include<ctime> // for the time() function
#include<cstdlib> // for the srand() and rand() functions
using namespace std;
int compInput;
int userInput;
int die1 = 0;
int die2 = 0;
int Dice()
{
// roll the first die
die1 = (rand() % 6) + 1;
// roll the second die
die2 = (rand() % 6) + 1;
}
Mais la sortie pour une raison quelconque ne s'affiche pas correctement. Une fois que cela montrera que l'utilisateur a gagné quand la sortie est 7 et l'autre fois, il continuerait simplement avec le jeu.
Que fais-je avec la boucle dans main()?
Merci
au lieu de rompre; utilisez return false dans les deux premiers cas. –