Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdlib>
- #include<ctime>
- using namespace std;
- void delay(int);
- void seleccionar_dificultad();
- int numero_aleatorio(int, int);
- void almacenar_respuesta(int);
- bool verificar_respuesta(int, int, int);
- void clear();
- const int MAX_LEVEL = 255;
- int secuencia[MAX_LEVEL];
- int respuesta[MAX_LEVEL];
- int limite_superior;
- int dificultad;
- int nivel = 1;
- int numero_errores = 0;
- bool bandera = true;
- int main()
- {
- seleccionar_dificultad();
- while(bandera){
- secuencia[nivel-1] = numero_aleatorio(1,limite_superior);
- for(int i=0 ; i<nivel ;i++){
- cout<<secuencia[i]<<endl;
- delay(1);
- }
- delay(2);
- clear();
- cout<<"/////////////"<<endl;
- almacenar_respuesta(nivel);
- nivel++;
- if(numero_errores == 5)
- bandera = false;
- }
- cout<<"\n----------------- El juego ha acabado -----------------------"<<endl;
- cout<<"\nPuntaje: "<<nivel-numero_errores-1<<endl;
- }
- //////////////////////////// Seleccionar nivel de Dificultad /////////////////////////////////////////
- void seleccionar_dificultad()
- {
- do{
- cout<<"Seleccione el nivel de dificultad: "<<endl;
- cout<<"-1 Facil \n-2 Medio \n-3 Dificil"<<endl;
- cout<<" -> "; cin>>dificultad;
- }
- while(dificultad<1 or dificultad>3);
- switch(dificultad){
- case 1:
- limite_superior = 5;
- break;
- case 2:
- limite_superior = 20;
- break;
- case 3:
- limite_superior = 100;
- break;
- }
- cout<<"///////////////////////////////////////////////////\n\t\tEMPIEZA EL JUEGO\n///////////////////////////////////////////////////"<<endl;
- cout<<" Observe, memorice y repita la secuencia de numeros\n///////////////////////////////////////////////////"<<endl;
- delay(5);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////// Funcion que nos permite retrasar el programa ////////////////////////////////
- void delay(int secs)
- {
- for(int i = (time(NULL) + secs); time(NULL) != i; time(NULL));
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////// Funcion que nos devulve un numero aleatorio en el rango deseado //////////////
- int numero_aleatorio(int limite_inferior, int limite_superior)
- {
- srand(time(NULL));
- return (limite_inferior+rand()%(limite_superior-limite_inferior-1));
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////// Funcion que compara las respuesta del jugador con la secuencia dada ///////////////
- bool verificar_respuesta(int secuencia[], int respuesta[], int nivel)
- {
- if(secuencia[nivel]==respuesta[nivel])
- return true;
- else
- return false;
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////// Funcion que Almacena las respuestas del Jugador ///////////////////////
- void almacenar_respuesta(int nivel)
- {
- int j=0;
- while(j<nivel){
- cout<<" ->"; cin>>respuesta[j];
- if(verificar_respuesta(secuencia, respuesta, j)){
- j++;
- }
- else{
- j=nivel;
- cout<<"--------------------- ERROR -------------------"<<endl;
- numero_errores++;
- }
- }
- cout<<"\n/////////////"<<endl;
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////// Limpiar Consola /////////////////////////////////////////////////
- void clear()
- {
- cout << "\x1B[2J\x1B[H";
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////
Add Comment
Please, Sign In to add comment