Tracks
/
Pharo
Pharo
/
Ejercicios
/
Buscaminas
Buscaminas

Buscaminas

Intermedia

Introducción

Minesweeper es un juego popular en el que el jugador tiene que encontrar las minas usando pistas numéricas que indican cuántas minas hay directamente adyacentes (en horizontal, en vertical o en diagonal) a una casilla.

Instrucciones

Tu tarea es agregar el número de minas a los cuadros vacíos de un tablero de Buscaminas ya resuelto. El tablero es un rectángulo compuesto por cuadros que están vacíos (' ') o que contienen una mina ('*').

Para cada cuadro vacío, cuenta cuántas minas tiene adyacentes (en horizontal, en vertical y en diagonal). Si el cuadro vacío no tiene minas adyacentes, déjalo vacío. De lo contrario, reemplázalo por la cantidad de minas adyacentes.

Por ejemplo, puedes recibir un tablero de 5 x 4 como este (los espacios vacíos se representan aquí con el carácter «·» para mostrarlos en pantalla):

·*·*·
··*··
··*··
·····

Y tu código debe transformarlo en este:

1*3*1
13*31
·2*2·
·111·

Nota

Las ubicaciones x,y a menudo se representan como un Point, lo que después da lugar a algunas funciones útiles para puntos que te pueden ayudar con esto. Como alternativa, representarlo como un array bidimensional también puede ser útil. De cualquier forma, definir algunos métodos de extensión descriptivos puede hacer que tu solución sea mucho más legible y elegante.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Pharo Exercism

¿Todo listo para empezar Buscaminas?

Regístrate en Exercism para aprender y dominar Pharo con 50 ejercicios y mentoría humana real, todo gratis.

¡Profundiza en Buscaminas!

Exploramos bucles for anidados, el uso ingenioso de min/max para simplificar la verificación de límites, las canalizaciones funcionales y el uso de matrices bidimensionales.