Este sencillo juego fue realizado en Excel donde se utilizaron las funciones SI ademas la función Y y la función O
En la celda J5 que corresponde al JUGADOR 1 debes escribir la siguiente función SI anidada con la función Y ademas de la función O:
=SI(O(Y($D$5="X";$D$8="X";$D$11="X");Y($E$5="X";$E$8="X";$E$11="X");Y($F$5="X";$F$8="X";$F$11="X");Y($D$5="X";$E$5="X";$F$5="X");Y($D$8="X";$E$8="X";$F$8="X");Y($D$11="X";$E$11="X";$F$11="X");Y($D$5="X";$E$8="X";$F$11="X");Y($F$5="X";$E$8="X";$D$11="X"));"GANASTE";"")
En este caso el que gana la partida es la letra X que corresponde al JUGADOR 1
Se evaluaron 8 posibles posibilidades que ganara la letra X tanto horizontal, vertical y diagonal que en este caso son dos diagonales.
Ahora para que gane la letra O también se van a evaluar las 8 posibles posibilidades.
Debes escribir en la celda J8 que corresponde al JUGADOR 2 la siguiente función:
SI anidada con la función Y ademas de la función O:
=SI(O(Y($D$5="O";$D$8="O";$D$11="O");Y($E$5="O";$E$8="O";$E$11="O");Y($F$5="O";$F$8="O";$F$11="O");Y($D$5="O";$E$5="O";$F$5="O");Y($D$8="O";$E$8="O";$F$8="O");Y($D$11="O";$E$11="O";$F$11="O");Y($D$5="O";$E$8="O";$F$11="O");Y($F$5="O";$E$8="O";$D$11="O"));"GANASTE";"")
Ahora para hacer el juego mas interactivo se han creado unas sencillas macros:
Para comenzar un NUEVO JUEGO, lo que hace esta macro es limpiar el rango de celdas que corresponde al Rango("D5:F13")
Ademas esta macro llama a la función PUNTOS que vamos a crear en un nuevo modulo.
Para llamar una función utilizamos la palabra Call de esta forma podemos utilizar una función en cualquier modulo, así utilizar este código muchas veces sin volver a escribir las mismas instrucciones.
Sub LIMPIAR()
Call PUNTOS
Range("D5:F13").Select
Selection.ClearContents
End Sub
Esta macro esta inserta en el modulo1.
En la macro anterior se ha llamado a la función Puntos.
Esta función se crea de la siguiente forma debes insertar un modulo
Escribes lo siguiente:
Function PUNTOS()
JUGADOR1 = Range("M5")
JUGADOR2 = Range("M8")
If Range("J5") = "GANASTE" Then
JUGADOR1 = JUGADOR1 + 1
Range("M5") = JUGADOR1
End If
If Range("J8") = "GANASTE" Then
JUGADOR2 = JUGADOR2 + 1
Range("M8") = JUGADOR2
End If
End Function
En la celda M5 se va acumulando el puntaje del Jugador 1
Si en la celda J5 dice "GANASTE" se suma un punto al jugador 1
Para ello se ha utilizado un if si se cumple esta condición se suma 1 punto al JUGAR1
En la celda M8 se va acumulando el puntaje del Jugador 2
Si en la celda J5 dice "GANASTE" se suma un punto al jugador 2
Aquí se utiliza una segunda condición if si esta se cumple se acumula 1 punto al JUGADOR2
Esta función esta implementada en el modulo2
Por ultimo para limpiar el tablero de PUNTOS
En el modulo3 corresponde a LIMPIAR TABLERO:
Sub LIMPIAR_TABLERO()
Range("M5,M8").Select
Selection.ClearContents
End Sub
Para desactivar la barra de formulas:
Esto debes hacerlo en ThisWorkbook en open
Private Sub Workbook_Open()
Application.DisplayFormulaBar = False
End Sub
Ya esta casi listo nuestro juego ahora solo falta que al momento de escribir letra X o O estan cambien de color esto se hizo de una forma muy sencilla utilizando Formato Condicional:
Seleccionas todo el rango D5:F13 vas a la barra de herramientas inicio...Estilos:
Formato Condicional
Resaltar reglas de Celdas------> Texto que contiene letra, seleccionas esta opcion.
Escribes la letra X
Escoges formato personalizado y cambias el color de la fuente:
Haces el mismo procedimiento para letra O.
Puedes descargar el juego del siguiente Link:
Comentarios
Publicar un comentario