Hola buenas noches tengo el problema con mi codigo
ME TRABE EN EL PUNTO 2 POR QUE UNA VEZ QUE LO METO EN EL IF YA NO ME PIDE QUE INGRESE EL NOMBRE
EN EL PUNTO 7 QUE SE LLEVARAN 3 CONTADORES TAMPOCO PUDE HACERLO
EL PUNTO 9 DE VALIDAR LAS OPCIONES DEL JUEGO
Y EL PUNTO 10 Y 11 AYUDA
Se pide que:
1. El programa inicia con un menu de dos opciones, Iniciar juego o Salir.
2. El juego iniciara preguntando al jugador su nombre, el cual debe admitir nombres conformados
por una o mas palabras.
3. Despues de que se capture el nombre, se preguntara al jugador que nivel desea jugar:
Normal. Solo utiliza piedra, papel y tijera.
Avanzado. Utiliza piedra, papel, tijera, lagarto y Spock.
4. El usuario podra elegir la opcion que utilizara para su jugada, dependiendo del nivel que seleccion.
5. Se generar´a de manera aleatoria la opcion con la que “jugar´a” la computadora.
6. Considerando la opcion ingresada por el usuario y la generada por la computadora se evaluara
si el usuario gano, perdio o empato.
7. Se llevaran 3 contadores, uno para cada caso (ganar, perder, empatar), y se incrementara el contador correspondiente.
8. El usuario podra repetir el juego cuantas veces quiera.
9. Es importante validar que:
La opcion ingresada exista.
Al solicitar que ingrese un numero no se ingrese una letra.
10. Al terminar de jugar se deberan desplegar en pantalla los contadores de juegos ganados, perdidos
y empatados.
11. Tambien se debera llevar el historial de resultados del juego, para poder saber que juegos gano,
perdio o empato. Se recomienda utilizar un arreglo para este punto.
#include <iostream>
#include <cctype>
#include <cstdlib>
#include <ctime>
#include <string.h>
using namespace std;
string Usuario();
string Usuario1();
string Maquina();
string Maquina1();
void DeterminaGanador(string, string string);
void DeterminaGanador1(string, string, string, string, string);
string Usuario(){
int eleccion;
do{
cout<< "Porfavor presiona 1=Papel, 2=Piedra, 3=Tijeras: ";
cin>>eleccion;
}while(eleccion < 1 || eleccion > 3);
if(eleccion == 1)
return "Papel";
else if(eleccion == 2)
return "Piedra";
else
return "Tijeras";
}
string Usuario1(){
int eleccion;
do{
cout<< "Porfavor presiona 1=Papel, 2=Piedra, 3=Tijeras, 4=Spock, 5=Lagarto: ";
cin>>eleccion;
}while(eleccion < 1 || eleccion > 5);
if(eleccion == 1)
return "Papel";
else if(eleccion == 2)
return "Piedra";
else if(eleccion == 3)
return "Tijeras";
else if(eleccion == 4)
return "Spock";
else
return "Lagarto";
}
string Maquina(){
int numero;
numero = (rand()%3)+1;
if(numero ==1)
return "Papel";
else if(numero == 2)
return "Piedra";
else
return "Tijeras";
}
string Maquina1(){
int numero;
numero = (rand()%5)+1;
if(numero ==1)
return "Papel";
else if(numero == 2)
return "Piedra";
else if(numero == 3)
return "Tijeras";
else if(numero == 4)
return "Spock";
else
return "Lagarto";
}
void DeterminaGanador(string nombre, string Jugador, string Maquina){
int ganar, empatar, perder;
if(Jugador == Maquina)
cout<< "Empate" << endl;
else
if((Jugador == "Piedra" && Maquina == "Tijeras") ||
(Jugador == "Papel" && Maquina == "Piedra") ||
(Jugador == "Tijeras" && Maquina == "Papel") )
cout << "Resultado: "<< nombre<< " Eres el Ganador"<< endl;
else
cout << "Resultado: La Maquina Gana"<<endl;
}
void DeterminaGanador1(string nombre, string Jugador, string Maquina){
int ganar, perder, empatar;
if(Jugador == Maquina)
cout<< "Empate" << endl;
else if((Jugador == "Piedra" && Maquina == "Tijeras") ||
(Jugador == "Papel" && Maquina == "Piedra") ||
(Jugador == "Tijeras" && Maquina == "Papel") ||
(Jugador == "Piedra" && Maquina == "Lagarto") ||
(Jugador == "Lagarto" && Maquina == "Spock") ||
(Jugador == "Spock" && Maquina == "Tijeras") ||
(Jugador == "Tijeras" && Maquina == "Lagarto") ||
(Jugador == "Lagarto" && Maquina == "Papel") ||
(Jugador == "Papel" && Maquina == "Spock") ||
(Jugador == "Spock" && Maquina == "Piedra") )
cout << "Resultado: "<< nombre<<"Eres el Ganador" << endl;
else
cout << "Resultado: La Maquina Gana" << endl;
}
struct nombreUsuario{
char nombre[20];
}nombreUsuario1;
int main()
{
string movimientoJugador;
string OponenteMovimiento;
char res;
srand(time(NULL));
string nombreJugador;
int seleccion;
int eleccion;
cout<<"Indica el numero de tu seleccion" <<endl;
cout<<"(1) Iniciar Juego"<<endl;
cout<<"(2) Salir"<<endl;
cin>>seleccion;
if(seleccion==1){
cout <<"Bienvenido al Juego. Porfavor Introduce un nombre: ";
cin.getline(nombreUsuario1.nombre, 20, '\n');
cout<<"Hola: "<<nombreUsuario1.nombre<<endl;
cout<<"Indica como quieres jugar"<<endl;
cout<<"(1) Normal"<<endl;
cout<<"(2) Avanzado"<<endl;
cin>>eleccion;
if(eleccion==1){
do{
movimientoJugador = Usuario();
OponenteMovimiento = Maquina();
cout << "Juegas con: " << movimientoJugador << endl;
cout << "La maquina juega con: " << OponenteMovimiento << endl;
DeterminaGanador(nombreJugador, movimientoJugador, OponenteMovimiento);
cout << "Quieres volver a jugar? [s/n]";
cin>>res;
}while(toupper(res) == 'S');
if(toupper(res) == 'N'){
cout << "Termina el juego estos son tus resultados!" <<endl;
cin>>res;
}
}
if(eleccion==2){
do{
movimientoJugador = Usuario1();
OponenteMovimiento = Maquina1();
cout << "Juegas con: " << movimientoJugador << endl;
cout << "La maquina juega con: " << OponenteMovimiento << endl;
DeterminaGanador1(nombreJugador, movimientoJugador, OponenteMovimiento);
cout << "Quieres volver a jugar? [s/n]";
cin>>res;
}while(toupper(res) == 'S');
if(toupper(res) == 'N'){
cout << "Termina el juego estos son tus resultados!" <<endl;
cin>>res;
}
}
}
if(seleccion==2){
cout<<"Gracias por participar";
} else(cout<<"Opcion no valida");
}
[MOD] Para publicar código usar las etiquetas GeSHi