/*Programa que emula el explosivo colocado en la grua de la pelicula Cars 2
empleando la técnica del kbhit y getch de la bilioteca conio.h y las instrucciones
Sleep y Beep de la biblioteca Windows.h.
Elaborado por Carlos Ferrer
rev. 1 (Nov 2024)
*/
#include<conio.h> //Esta biblioteca incluye las instrucciones Kbhit y getch
#include<iostream>
#include<windows.h> //Se emplea para controlar el tiempo de ejecución del programa, Sleep y Beep
using namespace std;
main()
{
int mm=5,ss=0,intentos=0;
/*mm representa el tiempo en minutos con el cual arranca la bomba
ss representa el tiempo en segundos - El conteo arrancara en 5 minutos*/
string c="@@"; //La variable que manejara el código de desactivación
string aux="";
/*Capturamos dos caracteres del teclado si es igual a la solución desactivamos la bomba en caso contrario restamos 1 minuto del contador de tiempo*/
while (mm>=0 and mm<=5)
{
Sleep(500);
/*nos aseguramos que el programa corra cada 1 seg aproximadamente, el segundo se completa con el tiempo de los sonidos. (500+250+250)*/
system("cls"); //Limpiamos pantalla
cout <<"Ingrese la clave para desactivar la bomba!!!!"<<endl<<endl;
cout <<"(Pista= Dicen que soy el juguete mas egocéntrico"<<endl;
cout <<" y mi nombre es dos veces la persona"<<endl;
cout <<" mas importante que hay!!!"<<endl;
cout <<" Quien es esa persona?)"<<endl<<endl;
cout <<"Tiempo para explotar --> "<<mm<<":"<<ss<<" "<<aux<<endl;
//Verificamos la clave ingresada
if(kbhit()!=0)
{
if(c[0]=='@')
{
c[0]=getch();
if (c[0]=='y') // Convertimos a Mayúscula
{
c[0]='Y';
}
aux= " Clave *";
}
else
{
c[1]=getch();
if (c[1]=='o') // Convertimos a Mayúscula
{
c[1]='O';
}
intentos=intentos+1;
aux= " Clave **";
}
if (c=="YO" ) //Verificamos clave de desactivación y tomamos acción
{
system ("cls");
cout <<endl<<"Gracias por desactivar la bomba Sir Miles Axlrod"<<endl;
Beep(220,300);Beep(294,300);Beep(294,300);Beep(370,300);Beep(494,300);Beep(370,300);
Beep(440,800);Beep(440,300);Beep(494,300);Beep(440,300);Beep(370,300);Beep(392,300);
Beep(370,300);Beep(330,800);Beep(247,300);Beep(330,300);Beep(330,300);Beep(370,300);
Beep(555,300);Beep(555,300);Beep(494,300);Beep(440,300);Beep(392,800);Beep(392,300);
Beep(370,300);Beep(247,800);Beep(278,300);Beep(294,300);Beep(330,2600);
exit(0);
}
else
{
if (intentos==1)
{
system("cls");
cout <<"(Pista= Dicen que soy el juguete mas egoista"<<endl;
cout <<" y mi nombre es dos veces la persona"<<endl;
cout <<" mas importante que hay!!"<<endl;
cout <<" Quien es esa persona?"<<endl<<endl;
cout <<endl<<endl<<"Tiempo para explotar --> "<<mm<<":"<<ss<<" "<<aux<<endl;
Beep(500, 500);Beep(750,450);Beep(900,300);Beep(500, 200);Beep(750, 200);
Beep(900, 100);Beep(500, 100);Beep(750, 100);Beep(900, 100);Beep(500, 50);
Beep(750, 50);Beep(1000, 900);
cout <<endl<<"CLAVE INCORRECTA !!!!"<<endl;
cout <<"Recalculando tiempo...... (1 minuto menos)"<<endl<<endl;
Sleep(1500);
mm=mm-1;
c="@@";
aux="";
intentos=0;
}
}
}
ss=ss-1;
Beep(250,100);
Beep(200,100);
if(ss<0)
{
mm=mm-1;
ss=59;
}
}
//Decretamos la explosión
cout <<endl<<"BOOM!!!"<<" BOOM!!!"<<" BOOM!!!"<<" BOOM!!!"<<endl;
Beep (262,300);Sleep(300);Beep (196,300);Sleep(300);Beep (164,300);Sleep(300);
Beep (220,300);Sleep(100);Beep (246,100);Sleep(300);Beep (233,200);Beep(250,1000);
system("pause");
}
No hay comentarios.:
Publicar un comentario