sakuraaa
Messages postés18Date d'inscriptiondimanche 2 mars 2008StatutMembreDernière intervention24 février 2011
-
24 févr. 2011 à 22:27
somehow
Messages postés84Date d'inscriptionmercredi 19 janvier 2011StatutMembreDernière intervention 2 mars 2011
-
24 févr. 2011 à 22:43
Bonjour,
Je dois faire un jeu de roche-papier-ciseaux dans mon cours de c++ et mon programme est vraiment boiteux et je ne comprends pas pourquoi.
Le programme doit absoluement utiliser enum , switch and doit, en plus de faire générer le coup de l'ordi aléatoirement, afficher le coup du joueur et de l'ordi, compiler leurs points et demander à la fin de chaque partie si le joueur veut rejouer.
Est-ce que quelqu'un peut m'aider? S'il vous plait!!!!
#include <iostream> // Pour l'utilisation de cin et cout
#include <cstdlib> // Pour l'utilisation de srand() et rand()
#include <ctime> // Pour l'utilisation de time()
#include <cctype> // Pour l'utilisation de toupper()
using namespace std;
void main (void)
{
enum TypeJeu {ROCK, PAPER, SCISSORS, LIZARD, SPOCK}; // variables de type enumération
TypeJeu CoupJoueur, CoupOrdi;
int PointJoueur, PointOrdi, Reponse, y, n;
char
srand ((unsigned) time(NULL)); // Précise un germe pour le générateur
cout << "You are about to play a more evolved and geeky version of the original Rock-Paper-Scissors game\n";
cout << "Here are the rules\n";
cout << "Scissors cut Paper\n";
cout << "Paper covers Rock\n";
cout << "Rock crushes Lizard\n";
cout << "Lizard poisons Spock\n";
cout << "Spock smashes Scissors\n";
cout << "Scissors decapitate Lizard\n";
cout << "Lizard eats Paper\n";
cout << "Paper disproves Spock\n";
cout << "Spock vaporizes Rock\n";
cout << "Rock crushes Scissors\n";
cout << "Now you know the rules. Let's play!\n";
do
{
cout << "What would you like to play?\n";
cout << "R-ROCK, P-PAPER, S-SCISSORS, L-LIZARD, K-SPOCK\n";
cin >> (toupper(CoupJoueur))
somehow
Messages postés84Date d'inscriptionmercredi 19 janvier 2011StatutMembreDernière intervention 2 mars 201111 24 févr. 2011 à 22:43
Déjà, ton while est mauvais
while ( toupper(Reponse) == y);
si "toupper" (et j'ai un gros doute sur la fonction toupper.. Tu l'as testée ? Elle est de toi ?) met une chaine de caractère ou un caractère en majuscule.. Alors jamais "Reponse" ne sera égal à y. D'ailleurs, en l'absence de ' ' autour de y, y est considéré comme une variable. Normal que ça ne marche pas. Je ne suis même pas sûr que le programme compilerait.
de souvenir, rand() renvoie une valeur entre 0 et 1. Tu ne peux pas utiliser de modulo (%) avec ça. Rajoute une ligne de texte pour tester la valeur de la variable coupOrdi, tu risques d'avoir des surprises.