Este sencillo juego de lógica realizado en Excel consiste en que debes adivinar un numero comprendido entre 1 y el 100.
Para ir generando el numero en forma aleatoria que debes adivinar se ha utilizado la función Random osea RND.
Es muy sencilla esta función solo debemos escribir estas instrucciones:
Primero creamos una variable y luego el rango o celda donde queremos que se genere nuestro numero aleatorio.
a = Int((Rnd) * 100 + 1)
Range("f12") = a
a = variable
Int = Numero entero
Rnd= Función aleatoria
Range= Rango o celda
Ahora como queremos omitir el numero cero nuestra función queda asi
a= Int(Rnd)*100 + 1
Range("f12")=a
Ahora vamos a nuestra hoja JUEGO.
Queremos que el numero aleatorio se genere en la celda F12.
Ahora vamos a insertar un modulo para ello vamos a ir a la pestaña Programador.
O simplemente con la tecla ALT F11 para abrir el editor VBA.
Ahora vamos a insertar un modulo vamos a escribir las siguientes lineas de codigo
Sub numero()
Randomize
a = Int((Rnd) * 100 + 1)
Range("f12") = a
Range("E5,B4").Select
Selection.ClearContents
End Sub
Esta macro nos va a generar un numero aleatorio entre el 1 y el 100.
Para iniciar el código se ha utilizado Randomize cada vez que abramos nuestro Libro al momento de iniciar un nuevo juego se van a ir generando distintos números aleatorios. Con esto se evita que siempre al iniciar el juego se van a repetir los mismos números que en la partida anterior.
Ademas esta macro Limpia las celdas E5 donde vamos a ingresar un numero, y la celda B4 esta celda es donde va a ir acumulando el numero de intentos.
Entonces esta macro debemos asignarla al botón Jugar.
Ahora para validar el numero de intentos y las pistas que me debe entregar, si el numero es mayor o menor solo debemos escribir la siguiente función en la celda E10 que después debemos ocultar.
Utilizaremos la función SI.
=SI(E5=0;"Debes presionar boton Jugar , escribir un numero celda E:5";SI(E5<F12;"El numero es mayor";SI(E5>F12;"El numero es menor";"¡Has ganado!")))
Si la celda E5 es igual a cero estan las primeras instrucciones "Debes presionar botón Jugar , escribir un numero celda E:5"
Ahora si la celda E5 es mayor a F12 aquí es donde aparece nuestro numero aleatorio, nos mostrara este mensaje " El numero es mayor"
Por ultimo Si la celda E5 es menor F12 "El numero es menor" si no se cumple esta condición este quiere decir que ambos celdas son iguales ...simplemente has ganado el juego.
Esta función SI esta anidada con otra función SI.
Ahora solo nos falta nuestro marcador de intentos.
Los intentos se van a ir acumulando en la celda B4
Para ello vamos a escribir el siguiente código en:
Hoja1(JUEGO)
Worksheet_Calculate
Yo en esta ocacion use la opcion Calculate de la hoja.
Private Sub Worksheet_Calculate()
contadorIncorrecto = Range("B4")
If Range("E10") = "El numero es mayor" Or Range("E10") = "El numero es menor" Then
contadorIncorrecto = contadorIncorrecto + 1
Range("B4") = contadorIncorrecto
End If
If Range("F12") = Range("E5") Then
MsgBox ("Ganaste el juego")
Range("E5,B4").Select
Selection.ClearContents
End If
If Range("B4") = 6 Then
MsgBox ("Perdiste juego")
Range("E5,B4").Select
Selection.ClearContents
End If
contadorIncorrecto = variable
Esta variable se va a ir acumulando en la celda B4
If es una condición, si en la celda E10 me marca "El numero es mayor" Or osea o la celda E10 es igual a " El numero es menor" entonces se va a incrementar un punto a la celda B4
contadorIncorrecto = contadorIncorrecto + 1
Acumula este resultado en la celda B4
End if Aquí termina esta instrucción.
Ahora si la celda f12 es igual a la celda E5 esto quiere decir que has ganado el juego.
Sale un mensaje MsgBox ("Ganaste el juego")
Range("E5,B4").Select
Selection.ClearContents Se limpian estas celdas
End if fin de esta instrucción.
Si la celda B4 = 6 este es el numero de intentos entonces...Perdiste el juego.
MsgBox ("Perdiste juego") mensaje
Range("E5,B4").Select
Selection.ClearContents Limpia estas celdas
End If
Para que muestre los mensajes en una forma en este caso Llamada Ovalada 3 solo debes seleccionar la forma vas a la barra de herramientas allí escribes = E10 así se vincula lo que esta en la celda a esa forma.
Para desactivar la barra de formulas:
Esto debes hacerlo en ThisWorkbook en open
Private Sub Workbook_Open()
Application.DisplayFormulaBar = False
End Sub
Listo ya esta terminado nuestro juego si deseas puedes modificarlo.
Si te ha gustado déjame un comentario.
Si deseas puedes descargar este juego completo de este link
Comentarios
Publicar un comentario