Buscaminas
Por Julian Alberto Fernández Vera y David Santiago Sánchez Torres, estudiantes de Ciencias de la Computación.
Introducción
El propósito de esta aplicación es crear una versión interactiva del popular juego Buscaminas. La idea creativa detrás de la aplicación es proporcionar a los jugadores una experiencia desafiante y entretenida al enfrentarse a la tarea de descubrir las ubicaciones de las bombas en un campo de juego cuadriculado.
Resumen del Diseño
La aplicación está diseñada utilizando p5.js, una biblioteca de procesamiento de JavaScript. La cuadrícula del juego se genera dinámicamente según la dificultad seleccionada: fácil, medio o difícil. Se utilizan botones interactivos para permitir al jugador elegir el nivel de dificultad. El juego cuenta con imágenes, como la bandera para marcar las bombas, y utiliza el concepto de “anillos” para revelar el número de bombas circundantes cuando se hace clic en una celda vacía.
Aspectos Técnicos
- Dificultad Dinámica: La aplicación ajusta el tamaño de la cuadrícula y la cantidad de bombas en función del nivel de dificultad seleccionado por el usuario.
- Interactividad: Los botones de dificultad son manejados por funciones de clic, permitiendo una experiencia de usuario intuitiva.
- Recuperación de Imágenes: Se utiliza la función loadImage para cargar una imagen que se muestra en caso de perder el juego, proporcionando una retroalimentación visual al usuario.
- Recursividad: La función pintar implementa un enfoque recursivo para revelar celdas vacías y sus vecinas de manera eficiente.
Principales Métodos del Código con Comentarios
code
function setup() {
// Creación de botones de dificultad
}
function draw() {
// Configuración del lienzo y generación de la cuadrícula según la dificultad
// Dibujo de la cuadrícula y verificación de condición de fin de juego
}
function mouseClicked() {
// Manejo del clic del ratón para revelar celdas y verificar la pérdida del juego
}
function pintar(row, col) {
// Función recursiva para revelar celdas vacías y sus vecinas
}
// ... (código posterior)
function preload() {
// Carga de la imagen utilizada en caso de perder el juego
}
Referencias de la API
- Quadrille.cellLength.
- Quadrille.diff.
- createQuadrille(width, height).
- createQuadrille(width, bigint, value).
- visitQuadrille(quadrille, fx).
- drawQuadrille(quadrille, params).
- isFilled(row, col).
- clone().
- clear().
- fill().
- ring().
- order.
Conclusión
El juego Buscaminas implementado en este proyecto proporciona una experiencia interactiva y desafiante para los usuarios. El diseño modular y la implementación técnica permiten una fácil expansión y personalización del juego. Este documento ha proporcionado una visión general del propósito, diseño y aspectos técnicos clave de la aplicación Buscaminas.