TEMA 24: Programa Adivina

 

12. Programa: programa para adivinar un número. Al igual que el programa Carreras (tema 22), se utiliza la función Rnd para generar números aleatorios.

OBJETO PROPIEDAD VALOR
Form1 BorderStyle
Caption
Icon
StartUpPosition
1
Programa Adivina. Ver 1.0.
Lighton.ico (Graphics, Icons, Misc)
2
LblNumero AutoSize
Caption
Font
True
-
Negrita
TxtNumero Alignment
Font
MaxLength
Text
2-Center
12, negrita
4
-
CmdOk Caption
Font
Ok.
Comic Sans MS, negrita, 10

Private Menor, Mayor, Num As Variant
Private Numero As Integer
Private Conta As Integer

Private Sub CmdOk_Click()
  Num = TxtNumero.Text 'Número que introducimos
 
'Comprueba si el Número introducido es numérico. Si no sale del procedimiento
  If Not IsNumeric(Num) Then
    MsgBox "El número introducido no es numérico", vbExclamation, "ERROR"
    TxtNumero.Text = "": TxtNumero.SetFocus
    Exit Sub
  End If
 
'Comprueba si el Número introducido está entre los valores Menor y Mayor
  Num = CInt(Num)     
'Convierte el número a entero
  If Num < Menor Or Num > Mayor Then
    MsgBox "El valor introducido no es correcto", vbInformation, "ERROR"
    TxtNumero.Text = "": TxtNumero.SetFocus
    Exit Sub
  End If
  Conta = Conta + 1    
'Contador de intentos
 
'Si el número introducido es Mayor...
  If Num > Numero Then
    MsgBox "El número es MENOR", vbInformation, "NUMERO"
    Mayor = Num
    LblNumero.Caption = "Introduce un número entre " + Str(Menor) _
    + " y " + Str(Mayor) + ":"
  End If
 
'Si el número introducido es Menor...
  If Num < Numero Then
    MsgBox "El número es MAYOR", vbInformation, "NUMERO"
    Menor = Num
    LblNumero.Caption = "Introduce un número entre " + Str(Menor) _
    + " y " + Str(Mayor) + ":"
  End If
 
'Si el número introducido es Igual...
  If Num = Numero Then
    MsgBox "Correcto ese es el NUMERO" + Chr(13) + "En sólo" _
    + Str(Conta) + " intentos.", vbInformation, "NUMERO"
    If MsgBox("¿Desea jugar otra vez?", vbYesNo, "NUMERO") = vbNo Then End
    Form_Load          
'Comienza el juego de nuevo
  End If
  TxtNumero.SetFocus 
'Captura el foco del cuadro de texto
  TxtNumero.Text = ""
'Borra el cuadro de texto
End Sub

Private Sub Form_Load()
  Randomize Timer
  Numero = Int(Rnd * 1000)            
'Número que tenemos que adivinar
  Menor = 1: Mayor = 1000: Conta = 0
'Inicializa variables
  TxtNumero.Text = ""                  
'Borra el cuadro de texto
  LblNumero.Caption = "Introduce un número entre " + Str(Menor) _
  + " y " + Str(Mayor) + ":"
End Sub

Private Sub TxtNumero_KeyPress(KeyAscii As Integer)
  If KeyAscii = 13 Then CmdOk_Click
'Tecla ENTER ejecuta procedimiento del botón
End Sub

Bajate el programa completo haciendo clic en la imagen   

 

          Tema anterior                                                                                               Tema siguiente

Hosted by www.Geocities.ws

1