En este post, siguiendo con lo que vimos en el postanterior, vamos a mostrar cómo pueden crear una variación de la mini aplicación
anterior “FaceWin”.
A la nueva mini aplicación, por darle un nombre, se llama
“LearnWin” haciendo referencia a que puede ser un juego utilizado con fines
didácticos o educativos.
Brevemente vamos a contar de qué se trata para después ver paso a paso el desarrollo.
Esta aplicación es simple pero divertida. Tenemos
nuevamente dos cuadros con imágenes, puede ser cualquier tipo de imagen, lo
ideal sería que sean dos objetos diferentes, por ejemplo un árbol y un perro.
Arriba de los dos cuadros tenemos un cuadro con un nombre u palabra. La idea del juego es votar de acuerdo a la
palabra mostrada en el cuadro, a qué imagen hace referencia. Obviamente parece
un juego bastante sencillo pero aplicado a fines didácticos puede ser útil por
ejemplo para enseñar a niños palabras nuevas como en este caso, diferenciar
entre un perro y un árbol.
Click en la imagen para ver el video o en este link.
Proceso
Para el ejemplo de la figura anterior, seguimos con las
imágenes de Los Simpsons, debemos distinguir de acuerdo al nombre a qué
personaje se refiere. En el ejemplo de la figura debemos encontrar quién es
Bart.
A medida que se va votando el personaje al que creemos
corresponde el nombre, van cambiando aleatoriamente entre dos imágenes no
comparadas. Cada vez que votamos correctamente un personaje se van acumulando
puntos. Los puntos acumulados se muestran cuando termina el juego.
En una hoja tenemos una base de
datos con los personajes, pueden ser fotos, figuras, cualquier cosa que se
pueda incrustar cómo imagen.
En la imagen pueden apreciar los
datos, están en seis columnas. Los datos principales son el un ID genérico para
el personaje, la imagen y el nombre asociado a esa imagen. Además se agregan
tres columnas auxiliares, una llamada presorteo, la otra es la columna de
puntos y la última que es la columna que guarda el estado del personaje “si ya
se mostro o no”.
Las columnas auxiliares
“Presorteo” y “Si” nos sirven para realizar el sorteo entre personajes, al
igual que en el post del mini
bingo smart.
En la página principal tenemos un botón de inicio y dos botones “votar”, uno por cada imagen.
Recuerden que las figuras deben
incrustarlas como objetos imagen. Luego a cada una le corresponderá un nombre
creado desde el “administrador de nombres”. En esta instancia, se sigue el
mismo procedimiento que se utilizo en el catálogo
de imágenes en Excel. A cada imagen se le asocia el nombre que varía, de
acuerdo al número de socio que corresponde a la imagen. Requeriremos dos
celdas, una para cada imagen, en donde ubicaremos los números de socios que
utilizara las formulas para mostrar el personaje.
Los nombres a crear son tres:
Imagen 1: “=DESREF('Base
de datos'!$C$4,COINCIDIR(SI(LearnWin!$B$7=0,LearnWin!$F$7,LearnWin!$B$7),lista,0)-1,0,1,1)”
El desref muestra la celda dónde se encuentra el
personaje teniendo en cuenta una referencia dada por hacer coincidir el valor
del ID del personaje que se encuentra en la celda B7 con un valor de la lista.
Imagen 2: “=DESREF('Base
de datos'!$C$4,COINCIDIR(SI(LearnWin!$F$7=0,LearnWin!$B$7,LearnWin!$F$7),lista,0)-1,0,1,1)”
El desref muestra la celda dónde se encuentra el
personaje teniendo en cuenta una referencia dada por hacer coincidir el valor
del ID del personaje que se encuentra en la celda F7 con un valor de la lista.
Lista: “=DESREF('Base de datos'!$B$4,0,0,35,1)”
En este nombre listamos los
valores de la columnas de ID.
Lógica
Para empezar el juego se presiona
el botón inicio, en ese momento en forma aleatoria se muestran dos personajes.
Se muestra además una palabra, en este caso un nombre, el de uno de los
personajes. Luego presionamos el botón “votar” eligiendo a nuestro entender al
personaje al cual corresponde, en ese momento cambian ambas imágenes. El juego
continua hasta que en algún momento no quedan personajes para comparar. En ese
momento termina el juego y se muestran los puntos ganados por los aciertos.
Veamos ahora el código para
realizar esto. Como ven, no es muy complicada la lógica.
Código
El código del botón inicio es el
siguiente:
----------------------------------------------------------------------------------------------
Sub Iniciar()
' PabloFSix
' Excelminiapps.blogspot.com
' Iniciar Macro
'reseteo
los votos y puntos
Sheets("Base de
Datos").Range("H4:H38").ClearContents
Sheets("Base de
Datos").Range("F4:F38").ClearContents
'seteo
imagen1
im1 = Sheets("Base de
Datos").Range("D2").Value
Sheets("learnWin").Range("B7").Value
= im1
Sheets("Base de
Datos").Range("H" & 3 + im1).FormulaR1C1 = "si"
'seteo
imagen1
im2 = Sheets("Base de
Datos").Range("D2").Value
Sheets("learnWin").Range("F7").Value
= im2
Sheets("Base de
Datos").Range("H" & 3 + im2).FormulaR1C1 = "si"
End Sub
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
Sub Votar1()
' PabloFSix
' Excelminiapps.blogspot.com
'Botón votar izquierda
'Comparo si el nombre del
personaje elegido coincide con el nombre mostrado, si coincide gano 1 punto.
If Range("B5").Text =
Sheets("Base de Datos").Range("D" & 3 +
Range("B7").Value) Then
Sheets("Base de
Datos").Range("f" & 3 +
Range("B7").Value).FormulaR1C1 = 1
End If
'seteo
imagen1
im1 = Sheets("Base de
Datos").Range("D2").Value
Sheets("learnWin").Range("B7").Value
= im1
Sheets("Base de
Datos").Range("H" & 3 + im1).FormulaR1C1 = "si"
'seteo
imagen1
im2 = Sheets("Base de
Datos").Range("D2").Value
Sheets("learnWin").Range("F7").Value
= im2
Sheets("Base de
Datos").Range("H" & 3 + im2).FormulaR1C1 = "si"
End Sub
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
Sub Votar2()
' PabloFSix
' Excelminiapps.blogspot.com
'Botón votar derecha
'Comparo si el nombre del
personaje elegido coincide con el nombre mostrado, si coincide gano 1 punto.
If Range("B5").Text =
Sheets("Base de Datos").Range("D" & 3 +
Range("F7").Value) Then
Sheets("Base de
Datos").Range("f" & 3 +
Range("F7").Value).FormulaR1C1 = 1
End If
'seteo
imagen1
im1 = Sheets("Base de
Datos").Range("D2").Value
Sheets("learnWin").Range("B7").Value
= im1
Sheets("Base de
Datos").Range("H" & 3 + im1).FormulaR1C1 = "si"
'seteo
imagen1
im2 = Sheets("Base de
Datos").Range("D2").Value
Sheets("learnWin").Range("F7").Value
= im2
Sheets("Base de
Datos").Range("H" & 3 + im2).FormulaR1C1 = "si"
End Sub
----------------------------------------------------------------------------------------------
Como ven el código es sencillo,
contiene solo tres macros.
Próximamente se va a colgar el archivo de ejemplo en la zona de Descargas. Si tienen alguna duda o consulta pueden hacerlo a través del formulario de contacto.
Les recomendamos que sigan el blog por alguno de los medios, mail o por redes sociales, para recibir las actualizaciones y novedades.
¡Éxitos!
Keys:
No hay comentarios:
Publicar un comentario