Advertisement
idsystems

CPP2_Practica07_JuegoAdivinanzas

Aug 5th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.21 KB | None | 0 0
  1. /* prac07.cpp
  2. Juego de Adivinanzas
  3. Basado en el programa prog22a_adivinanzas.cpp
  4. del Cuaderno de Ejercicios de C++ (modo Consola). pag.34
  5.  
  6. El juego genera un numero aleatorio entre 1 y 100 y el usuario tendra que
  7. adivinarlo. Esta es la version GUI de dicho programa usando los controles
  8. RADC++
  9. Por: LSC Sergio Hugo Sanchez O.
  10. Para: UDM
  11. Fecha: 06/Mayo/2011
  12. */
  13.  
  14. #include <radc++.h>
  15. #include <time.h>
  16. #include <stdlib.h>
  17. #include <conio.h>
  18.  
  19. // Declaracion de variables globales
  20. int i, a, b;
  21.  
  22. // Declaracion de controles a usar
  23. Form Form1("ADIVINANZAS");
  24. //ImageBox imgImagen(AUTO_ID,0,300,50,350,350,Forma1); //2nd arg : 0 = no image by default
  25. Label lblMsg("Adivina el numero que estoy pensando entre 1 y 100 ",AUTO_ID, 10,10, 270,20, Form1);
  26. NumberBox txtNumero(" ",AUTO_ID, 10,40, 100,20, Form1);
  27. Button Button1("Adivina", AUTO_ID, 10, 80, 100, 30, Form1);
  28.  
  29. Label lblIntento1("Intento1",AUTO_ID, 280,10,100,20,Form1);
  30. Label lblIntento2("Intento2",AUTO_ID, 280,25,100,20,Form1);
  31. Label lblIntento3("Intento3",AUTO_ID, 280,50,100,20,Form1);
  32. Label lblIntento4("Intento4",AUTO_ID, 280,75,100,20,Form1);
  33. Label lblIntento5("Intento5",AUTO_ID, 280,100,100,20,Form1);
  34. Label lblIntento6("Intento6",AUTO_ID, 280,125,100,20,Form1);
  35. Label lblIntento7("Intento7",AUTO_ID, 280,150,100,20,Form1);
  36. Label lblIntento8("Intento8",AUTO_ID, 280,175,100,20,Form1);
  37. Label lblIntento9("Intento9",AUTO_ID, 280,200,100,20,Form1);
  38. Label lblIntento10("Intento10",AUTO_ID, 280,225,100,20,Form1);
  39.  
  40. //Procedimiento de la forma
  41. FormProcedure procedure1 (FormProcArgs) {
  42.  
  43.         ON_CLOSE() {
  44.                Application.close();
  45.         }
  46.    
  47.         ON_COMMAND_BY ( Button1 ) {
  48.              
  49.               b = val( txtNumero.text );    // Almacenar en variable lo que digito el usuario
  50.               // Primero detectar cuantas veces se ha pulsado el boton para conocer los
  51.               // intentos. En cada caso, se activara una etiqueta que ira mostrando los
  52.               // intentos.
  53.               switch (i)
  54.               {
  55.                  case 1:
  56.                       lblIntento1.visible = true;
  57.                       break;
  58.                  case 2:
  59.                       lblIntento2.visible = true;
  60.                       break;
  61.                  case 3:
  62.                       lblIntento3.visible = true;
  63.                       break;
  64.                  case 4:
  65.                       lblIntento4.visible = true;
  66.                       break;
  67.                  case 5:
  68.                       lblIntento5.visible = true;
  69.                       break;
  70.                  case 6:
  71.                       lblIntento6.visible = true;
  72.                       break;
  73.                  case 7:
  74.                       lblIntento7.visible = true;
  75.                       break;
  76.                  case 8:
  77.                       lblIntento8.visible = true;
  78.                       break;
  79.                  case 9:
  80.                       lblIntento9.visible = true;
  81.                       break;
  82.                  case 10:
  83.                       lblIntento10.visible = true;
  84.                       break;
  85.               }
  86.               // Si llega mas alla de los 9 intentos, el programa terminara
  87.               // Usamos un objeto ERRORBOX para indicar y quitamos el boton de ADIVINAR
  88.               if (i>9) {
  89.                  Form1.errorBox("Lo siento, el numero es: " + str(a),"Aviso" );
  90.                  Button1.visible = false;
  91.               }
  92.               // Si se comprueba que lo que ha tecleado el usuario es igual al aleatorio
  93.               // que se ha generado desde el programa principal, ha acertado.
  94.                 if ( b == a) {
  95.                     Form1.infoBox("Muy bien, has acertado en " + str(i) + " oportunidades. El numero es: " + str(a),"Aviso" );
  96.                     // Confirmar si desea seguir jugando y generar una nueva semilla
  97.                     // Pendiente este ultimo.
  98.                     if (Form1.confirm("De verdad quieres salir?","Atencion")) Application.close();
  99.  
  100.                  }
  101.               // Si lo que ha introducido el usuario es mayor que el aleatorio indicar,
  102.               // tambien podemos indicar si es mas bajo  
  103.               if (b>a)
  104.                       Form1.warnBox("Es alto","Aviso");
  105.               else
  106.                       Form1.warnBox("Es bajo","Aviso");
  107.  
  108.               i++;      //Incrementar el contador de veces
  109.         }
  110.         return 0;      
  111. }
  112.  
  113. rad_main()
  114.         // Ejecutar el codigo del procedimiento de la forma  
  115.         Form1.procedure = procedure1;
  116.         //Generar la semilla y el numero aleatorio a Adivinar
  117.         srand(time(0));
  118.         a = 1 + rand() % 100;
  119.         i = 1;
  120. //      imgImagen.loadImage(Application.path + "\\hombre20pensando.gif");
  121.         txtNumero.focus();                   // Dar el enfoque a la caja de texto
  122.         txtNumero.setLimit(3);               // Definir no mas de 3 digitos en la caja de texto  
  123.        
  124.         // No mostrar todos los controles de etiqueta que se definieron anteriormente.
  125.         lblIntento1.visible = false;
  126.         lblIntento2.visible = false;
  127.         lblIntento3.visible = false;
  128.         lblIntento4.visible = false;
  129.         lblIntento5.visible = false;
  130.         lblIntento6.visible = false;
  131.         lblIntento7.visible = false;
  132.         lblIntento8.visible = false;
  133.         lblIntento9.visible = false;
  134.         lblIntento10.visible = false;
  135.  
  136. rad_end()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement