Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* prac07.cpp
- Juego de Adivinanzas
- Basado en el programa prog22a_adivinanzas.cpp
- del Cuaderno de Ejercicios de C++ (modo Consola). pag.34
- El juego genera un numero aleatorio entre 1 y 100 y el usuario tendra que
- adivinarlo. Esta es la version GUI de dicho programa usando los controles
- RADC++
- Por: LSC Sergio Hugo Sanchez O.
- Para: UDM
- Fecha: 06/Mayo/2011
- */
- #include <radc++.h>
- #include <time.h>
- #include <stdlib.h>
- #include <conio.h>
- // Declaracion de variables globales
- int i, a, b;
- // Declaracion de controles a usar
- Form Form1("ADIVINANZAS");
- //ImageBox imgImagen(AUTO_ID,0,300,50,350,350,Forma1); //2nd arg : 0 = no image by default
- Label lblMsg("Adivina el numero que estoy pensando entre 1 y 100 ",AUTO_ID, 10,10, 270,20, Form1);
- NumberBox txtNumero(" ",AUTO_ID, 10,40, 100,20, Form1);
- Button Button1("Adivina", AUTO_ID, 10, 80, 100, 30, Form1);
- Label lblIntento1("Intento1",AUTO_ID, 280,10,100,20,Form1);
- Label lblIntento2("Intento2",AUTO_ID, 280,25,100,20,Form1);
- Label lblIntento3("Intento3",AUTO_ID, 280,50,100,20,Form1);
- Label lblIntento4("Intento4",AUTO_ID, 280,75,100,20,Form1);
- Label lblIntento5("Intento5",AUTO_ID, 280,100,100,20,Form1);
- Label lblIntento6("Intento6",AUTO_ID, 280,125,100,20,Form1);
- Label lblIntento7("Intento7",AUTO_ID, 280,150,100,20,Form1);
- Label lblIntento8("Intento8",AUTO_ID, 280,175,100,20,Form1);
- Label lblIntento9("Intento9",AUTO_ID, 280,200,100,20,Form1);
- Label lblIntento10("Intento10",AUTO_ID, 280,225,100,20,Form1);
- //Procedimiento de la forma
- FormProcedure procedure1 (FormProcArgs) {
- ON_CLOSE() {
- Application.close();
- }
- ON_COMMAND_BY ( Button1 ) {
- b = val( txtNumero.text ); // Almacenar en variable lo que digito el usuario
- // Primero detectar cuantas veces se ha pulsado el boton para conocer los
- // intentos. En cada caso, se activara una etiqueta que ira mostrando los
- // intentos.
- switch (i)
- {
- case 1:
- lblIntento1.visible = true;
- break;
- case 2:
- lblIntento2.visible = true;
- break;
- case 3:
- lblIntento3.visible = true;
- break;
- case 4:
- lblIntento4.visible = true;
- break;
- case 5:
- lblIntento5.visible = true;
- break;
- case 6:
- lblIntento6.visible = true;
- break;
- case 7:
- lblIntento7.visible = true;
- break;
- case 8:
- lblIntento8.visible = true;
- break;
- case 9:
- lblIntento9.visible = true;
- break;
- case 10:
- lblIntento10.visible = true;
- break;
- }
- // Si llega mas alla de los 9 intentos, el programa terminara
- // Usamos un objeto ERRORBOX para indicar y quitamos el boton de ADIVINAR
- if (i>9) {
- Form1.errorBox("Lo siento, el numero es: " + str(a),"Aviso" );
- Button1.visible = false;
- }
- // Si se comprueba que lo que ha tecleado el usuario es igual al aleatorio
- // que se ha generado desde el programa principal, ha acertado.
- if ( b == a) {
- Form1.infoBox("Muy bien, has acertado en " + str(i) + " oportunidades. El numero es: " + str(a),"Aviso" );
- // Confirmar si desea seguir jugando y generar una nueva semilla
- // Pendiente este ultimo.
- if (Form1.confirm("De verdad quieres salir?","Atencion")) Application.close();
- }
- // Si lo que ha introducido el usuario es mayor que el aleatorio indicar,
- // tambien podemos indicar si es mas bajo
- if (b>a)
- Form1.warnBox("Es alto","Aviso");
- else
- Form1.warnBox("Es bajo","Aviso");
- i++; //Incrementar el contador de veces
- }
- return 0;
- }
- rad_main()
- // Ejecutar el codigo del procedimiento de la forma
- Form1.procedure = procedure1;
- //Generar la semilla y el numero aleatorio a Adivinar
- srand(time(0));
- a = 1 + rand() % 100;
- i = 1;
- // imgImagen.loadImage(Application.path + "\\hombre20pensando.gif");
- txtNumero.focus(); // Dar el enfoque a la caja de texto
- txtNumero.setLimit(3); // Definir no mas de 3 digitos en la caja de texto
- // No mostrar todos los controles de etiqueta que se definieron anteriormente.
- lblIntento1.visible = false;
- lblIntento2.visible = false;
- lblIntento3.visible = false;
- lblIntento4.visible = false;
- lblIntento5.visible = false;
- lblIntento6.visible = false;
- lblIntento7.visible = false;
- lblIntento8.visible = false;
- lblIntento9.visible = false;
- lblIntento10.visible = false;
- rad_end()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement