Aquí ofrezco un juego hecho en Excel para practicar la Memoria Visual (también llamada fotográfica o eidética) a través de la presentación de unas pequeñas banderas en pantalla.

El juego es muy simple, se muestra un número de banderas de distintos colores durante un breve intervalo de tiempo. A continuación, el jugador debe indicar cuantas banderas de cada color ha visto. Si el jugador acierta se incrementa su puntuación y el juego avanza aumentando su dificultad. Es decir, cada vez aparecerán más banderas en pantalla, lo cuál será más difícil de retener en memoria.

Captura de Pantalla Juego Banderas
Captura de Pantalla Juego Banderas

Descarga del Juego

En el siguiente enlace podrás descargarte el archivo de Excel con el Juego de Memoria Visual Banderas:

Descargar Banderas – Juego de Memoria Visual en Excel

Cómo Jugar

En el siguiente video puedes ver el juego en funcionamiento. El juego es configurable, y el jugador puede decidir el tiempo que las banderas permanecen en pantalla y el número de colores de éstas, pudiendo elegir entre mostrar uno, dos o tres colores.

El tablero donde aparecen las banderas tiene 100 celdas, aunque internamente el juego está limitado a un máximo de 80 banderas.

Cómo jugar al juego Banderas

Programación del Juego en Visual Basic para Aplicaciones

Si estás interesado en la programación en VBA, en el siguiente video podrás ver la programación del código de este juego desde el principio: creación de variables globales, estructuración en procedimientos, manejadores de eventos, instrucciones repetitivas y alternativas, generación de números aleatorios, presentación en pantalla, etc.

Cómo programar el juego Banderas

Generación de Números Aleatorios en VBA. La función Rnd.

Para la programación del juego es necesaria la generación de números aleatorios usando la función Rnd. En el video se pasa de puntillas sobre el uso de esta función, por lo que voy a profundizar un poco más sobre ella aquí.

Rnd es una función que devuelve un número aleatorio entre [0, 1) Es decir, un número con decimales que podría ser 0, 0.3543, o bien 0.783, 0.999, etc. Es importante indicar que el número aleatorio generado nunca es 1, aunque podría acercarse bastante.

Normalmente se necesita solamente un número concreto de posibilidades para generar el número aleatorio, y el número aleatorio generado debe ser entero. Para ello, se multiplica el número de posibilidades deseado por Rnd y se convierte a entero con la función Int:

aleatorio= Int(Rnd * posibilidades)

Por ejemplo, si quisiéramos generar números aleatorios entre 22 y 31, tendríamos 10 posibles números (22, 23, 24, …, 29, 30, 31). Esto se puede calcular así:

posibilidades = máximo – mínimo + 1

posibilidades = 31 – 22 + 1 = 10

Si multiplicamos las posibilidades por Rnd:

aleatorio = Int(Rnd * 10)

El resultado serán números comprendidos entre 0 y 9, lo cuál no es lo que necesitamos, así que tenemos que sumarle 22 al resultado, para obtener números entre 22 y 31, que es lo deseado. Por tanto:

aleatorio = Int(Rnd * 10) + 22

Resumiendo, siendo 22 el valor mínimo y 31 el máximo a generar:

aleatorio = Int( Rnd * (31 – 22 + 1) + 22)

Y generalizando, tenemos la fórmula:

aleatorio = Int( Rnd * (máximo – mínimo + 1) + mínimo )

Y la anterior, es precisamente la fórmula para calcular números aleatorios entre un valor mínimo y un valor máximo. Esta fórmula se usa en la programación del juego de las banderas.

Función Retardo

En la programación del juego se usa una función Retardo que permite detener la ejecución del juego durante una cantidad determinada de segundos.

Si quieres obtener más información sobre esta función puedes echarle un vistazo a

Más contenidos

Puedes acceder a más recursos formativos, ejercicios resueltos de programación, test de informática, etc., en ejerciciosmesa.com. También tienes disponibles juegos de lógica e interactivos en mesagames.es.