#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";
}
int *DeterminaGanador(string nombre, string Jugador, string Maquina){
        static int empate;
        static int ganar;
        static int perder;
    if(Jugador == Maquina){
         cout<< "Empate" << endl;
         empate++;
         return &empate;
    } else
            if((Jugador == "Piedra" && Maquina == "Tijeras") ||
                (Jugador == "Papel" && Maquina == "Piedra") ||
                (Jugador == "Tijeras" && Maquina == "Papel") ){
                   cout << "Resultado: "<< nombre<< " Eres el Ganador"<< endl;
                   ganar++;
                   return &ganar;
                }
        else
            cout << "Resultado: La Maquina Gana"<<endl;
            perder++;
            return &perder;
}
int *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;
}
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.ignore();
     getline(cin, nombreJugador);
     cout<<"Hola: "<<nombreJugador<<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");
}
LO DEJE ASI , SOLO ME GUSTARIA SABER COMO PONER ESE PUNTERO EN EL MAIN? PARA EL CONTADOR Y TAMBIEN COMO HUBIERA PODIDO VALIDAR LO DE QUE SI INSERTABAS UNA LETRA ALA HORA DEESCOGER PIEDRA PAPEL O TIJERAS NO SE CICLARA OSEA VALIDARLO, DIGO PARA TENERLO EN CUENTA EN MI PROXIMO PROYECTO


 
  




 Autor
 Autor
		


 En línea
									En línea
								


 
						
