Descargar archivo

Anuncio
EJEMPLO DE PROGRAMACION DOS VBA
ADIVINAR NÚMERO
El objetivo es hacer un juego donde vamos a intentar adivinar un número que la computadora
genera al azar, para lo cual tendremos una cierta cantidad de intentos y un rango en el que debe
estar el número; al digitar el número el programa nos indicara si el número es mayor o menor al
número que estamos intentando adivinar.
Para esto debemos hacer primero la interfaz de usuario (realizar los siguientes pasos):
1. Vamos a crear un formulario y le colocamos el nombre AdivinarNro. Para ello insertamos un
UserForm y en la ventana propiedades en name le asignamos AdivinarNro.
2. Insertamos una etiqueta de título así:
En este caso vamos a cambiar las
siguientes propiedades:
Font: Escogemos un tipo de letra y le
damos un tamaño de 14.
TextAlign: A 2 (centrado).
3. Terminamos de construir la interfaz de usuario de la siguiente manera:
4. Le colocamos nombres a los controles que se deben programar así:
Cuadros de Texto:
txtmin
txtmax
txtintentos
txtMiNumero
Etiquetas:
Lblintentos
Lblmensaje
Botones de comando:
cmdgenerar
cmdAdivinar
cmdJugar
cmdsalir
5. Deshabilitamos los botones Adivinar y Volver a jugar
Seleccionamos el bóton a deshabilitar así:
Cambiamos la propiedad Enabled a False así:
6. Copiamos el código fuente del programa.
Option Explicit
Public intMin As Integer
Public intMax As Integer
Public intIntentos As Integer
Public intNumero As Long
Private Sub cmdAdivinar_Click()
Me.intIntentos = Me.intIntentos - 1
Me.lblintentos = Me.intIntentos
If Me.intIntentos > 0 Then
If Me.txtMiNumero = intNumero Then
Me.lblmensaje = "MUY BIEN, EL NUMERO ERA EL: " + Me.txtMiNumero
Else
If Me.txtMiNumero > intNumero Then
Me.lblmensaje = " EL NUMERO ES MENOR "
Me.txtMiNumero.SetFocus
Else
Me.lblmensaje = " EL NUMERO ES MAYOR "
Me.txtMiNumero.SetFocus
End If
End If
Else
Me.lblmensaje = "NO HA PODIDO ADIVINAR EL NUMERO"
Me.cmdJugar.Enabled = True
End If
End Sub
Private Sub cmdgenerar_Click()
'Inicializamos las variables públicas de control del juego.
Me.intMin = CInt(Me.txtmin)
Me.intMax = CInt(Me.txtmax)
Me.intIntentos = CInt(Me.txtintentos)
'Bloqueamos los cuadros de texto para no cambiar los valores.
Me.txtmin.Enabled = False
Me.txtmax.Enabled = False
Me.txtintentos.Enabled = False
Randomize ' inicializar el generador aleatorio.
intNumero = CLng((intMin - intMax) * Rnd + intMax)
'bloquemos el boton generar y desbloque el de adivinar
Me.cmdgenerar.Enabled = False
Me.cmdAdivinar.Enabled = True
Me.lblintentos = Me.txtintentos
Me.txtMiNumero.SetFocus
End Sub
Private Sub cmdJugar_Click()
Me.lblmensaje = ""
Me.txtMiNumero.Text = ""
Me.cmdAdivinar.Enabled = False
Me.txtmin.Enabled = True
Me.txtmax.Enabled = True
Me.txtintentos.Enabled = True
Me.cmdgenerar.Enabled = True
Me.txtmin.SetFocus
End Sub
Private Sub cmdsalir_Click()
End
End Sub
Descargar