[ Foro de C++ ]

PROBLEMA CON LOS BUCLES EN JUEGO DE C++

10-Jun-2021 15:06
Invitado (Jorge)
0 Respuestas

/*Este juego es una versión del ahorcado con pequeñas modificaciones, por ejemplo,
en vez de ir poniendo letras una a una e ir probando hasta formar una palabra,
tendrás que adivinar la palabra a la primera*/


#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
//Declaración de variables
   string jugador1,palabra,espacio,adivina;
   int falso=0;
   int juego,partidas,victoria,derrota,rondasfinal;
int rondas;


int main (){
//Empezamos a contar el numero de rondas o partidas
partidas=1;

//Elección de palabras aleatoriamente
srand(time(0));
const string wordList[9] = { "COCHE", "CASA", "DICCIONARIO", "TONTO", "GRACIOSO", "ORDENADOR", "CONTENEDOR", "AGUJERO", "MADRID" };
   string palabra = wordList[rand() % 9];
   

//Entrada de datos
   cout << "----------------------BIENVENIDO AL AHORCADO :)----------------------" << endl;
   cout << "                    NORMA: Todo va en mayusculas" << endl;
   cout << "               RECUERDA: Las palabras se pueden repetir" << endl;
   //cout << "Introduzca el NUMERO de rondas que quiera jugar (Como max 9): " << endl;
   //cin >> rondas;

//Para ver si es un letra se hace mediante la función isalpha
/*if(isalpha(rondas))
{

cout << "DIJE QUE INTRODUJESES UN NUMERO NO UNA LETRA!!!Saliendo.......Pulse cualquier tecla" << endl;

exit(-1);
}

//Si introduce un numero se continuaría con el juego
else    
{
rondasfinal=rondas-48;
juego=rondasfinal/2;
cout << "   ENTONCES SI CONSIGUES LLEGAR A " << ++juego << " PUNTOS GANAS!!!... MUCHA SUERTE!!!" << endl;

} */

   rondasfinal=3;
   juego=2;
   victoria = 0;
   derrota = 0;
   
cout << "Introduzca su nombre porfavor, Jugador 1" << endl;
   cin >> jugador1;
while(partidas<=rondasfinal)
{

partidas=partidas+1;
while((victoria!=juego)&&(derrota!=juego))

{
/* while(derrota==juego/2)
       {
           cout << "GAME OVER :(" << endl;
           exit (-1);
           
       }*/
srand(time(0));
const string wordList[10] = { "COCHE", "CASA", "DICCIONARIO", "TONTO", "GRACIOSO", "ORDENADOR", "CONTENEDOR", "AGUJERO", "MADRID" };
   string palabra = wordList[rand() % 11];
cout << "Estas son las opciones que tendras mientras juegas:"<< endl;
cout << "-->COCHE" << endl;
cout << "-->CASA" << endl;
cout << "-->DICCIONARIO" << endl;
cout << "-->TONTO" << endl;
cout << "-->GRACIOSO" << endl;
cout << "-->ORDENADOR" << endl;
cout << "-->CONTENEDOR" << endl;
cout << "-->AGUJERO" << endl;
cout << "-->MADRID" << endl;
cout << "-->" << jugador1 << endl;
cout << "OK " << jugador1 << ". Empieza el juego!!" << endl;
cout << "palabra escogida " << palabra << endl;


//espacio
for (int x=30; x<40; x++){
cout << endl;
}

//Letras de la palabra
while (espacio.size() != palabra.size())
{
espacio.push_back('_');
}

cout << espacio << endl;

//Numero de oportunidades
while(falso<13){
cin >> adivina;

//Si no coinciden las respuestas o si sí coinciden
if(adivina.size() > 1){
if(adivina==palabra){
   cout << "________$$$$.." << endl;
       cout << "______$$$$$$$$$" << endl;
       cout << "______$$$$$$$_$" << endl;
       cout << "_____$$$$$$$$$$" << endl;
       cout << "______$$$$$$$$$$" << endl;
       cout << "_____$$$$$$_$$$$$" << endl;
       cout << "____$$$$$$$_____$$$" << endl;
       cout << "____$$$$$$$$_____$" << endl;
       cout << "____$$$$$$$$$$" << endl;
       cout << "_____$$$$$$$$$$" << endl;
       cout << "_____$$$$$$$$$$$" << endl;
       cout << "______$$$$$$$$$$$" << endl;
       cout << "_$$$$___$$$$$$$$$" << endl;
       cout << "__$$$$$$$$$$$$$$$" << endl;
       cout << "_$$$$$$$$$$$$$$$" << endl;
       cout << "__$$$$$$$$$$$$$" << endl;
       cout << "$$$$$$$$$$$$$" << endl;
       cout << "__$__$$$$$$" << endl;
       cout << "____$$$$$$" << endl;
       cout << "____$$$$$" << endl;
       cout << "___$$$$$$_____$" << endl;
       cout << "___$$$$$$___$$_$$" << endl;
       cout << "____$$$$$___$__$$" << endl;
       cout << "____$$$$$______$$" << endl;
       cout << "_____$$$$$____$$$" << endl;
       cout << "_______$$$$$$$$$" << endl;
       cout << "__________$$$$" << endl;
cout << "Enhorabuena te mantienes con vida!!" << endl;
victoria = victoria +1;
cout << "Vamos tu " << victoria << " y yo " << derrota << endl;
break;
}
else{
   cout << espacio << endl;
   cout << "No has tenido suerte :(" << endl;
   cout << "Utilizado " << adivina << endl;
falso ++;

}
}





if(espacio == palabra){
 cout << "Has ganado" << endl;
 break;
}



if(falso==1){
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==2){
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==3){
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==4){
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==5){
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==6){
   cout << "II===" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==7){
   cout << "II======" << endl;
   cout << "II     " << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==8){
   cout << "II======" << endl;
   cout << "II     O" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==9){
   cout << "Ii======" << endl;
   cout << "II     O" << endl;
   cout << "II     |" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==10){
   cout << "II======" << endl;
   cout << "II     O" << endl;
   cout << "II   --|" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==11){
   cout << "II======" << endl;
   cout << "II     O" << endl;
   cout << "II   --|--" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==12){
   cout << "II======" << endl;
   cout << "II     O" << endl;
   cout << "II   --|--" << endl;
   cout << "II    /"  << endl;
   cout << "II" << endl;
   cout << "II" << endl;
   cout << espacio << endl;
}
else if(falso==13){
  cout << "8888888888 888" << endl;
   cout << "888        888                     __________" << endl;
   cout << "888        888                    II         |" << endl;
   cout << "8888888    888                    II         0"<< endl;
   cout << "888        888                    II       --|-- "<< endl;
cout << "888        888                    II        / / " << endl;
cout << "888        888                    II" << endl;
cout << "8888888888 888                    II" << endl;

cout << "        888                                             888 " << endl;
cout << "        888                                             888 " <<endl;
cout << "        888                                             888 " <<endl;
cout << "8888b.  88888b.   .d88b.  888d888 .d8888b  8888b.   .d88888  .d88b. " <<endl;
cout << "    88b 888  88b d88  88b 888P   d88P          88b d88  888 d88  88b "  << endl;
cout <<".d888888 888  888 888  888 888    888      .d888888 888  888 888  888 " << endl;
cout <<"888  888 888  888 Y88..88P 888    Y88b.    888  888 Y88b 888 Y88..88P " <<endl;
cout <<" Y888888 888  888 \\Y88P//  888     Y8888P   Y888888 Y88888// \\Y88P//  " << endl;
   
   cout << "Krak! Algo se rompio y no fue la cuerda :(" << endl;

   cout << "Has perdido, la palabra era: " << palabra <<endl;

//Indicar que has perdido una ronda completa
derrota = derrota +1;
   cout << "Vamos tu " << victoria << " y yo " << derrota << endl;
break;
}
}
//FIN DE LAS RONDAS Y DEL JUEGO COMPLETO
while(victoria==juego)
{
cout << "EL JUEGO HA FINALIZADO!!!!" << endl;
exit (-1);
}
while(derrota==juego)
{
cout << "GAME OVER :(" << endl;
exit (-1);

}
}
}
}





(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)