O Minesweeper é um jogo popular no qual tens de encontrar as minas recorrendo a pistas numéricas que indicam quantas minas estão diretamente adjacentes (na horizontal, na vertical ou na diagonal) a uma casa.
A tua tarefa é adicionar a contagem de minas às casas vazias de um tabuleiro de Campo Minado já completo.
O próprio tabuleiro é um retângulo composto por casas que estão vazias (' ') ou que contêm uma mina ('*').
Para cada casa vazia, conta o número de minas que lhe são adjacentes (na horizontal, na vertical e na diagonal). Se a casa vazia não tiver minas adjacentes, deixa-a vazia. Caso contrário, substitui-a pelo número de minas adjacentes.
Por exemplo, podes receber um tabuleiro 5 x 4 como este (aqui, os espaços vazios são representados com o caráter '·' para visualização no ecrã):
·*·*·
··*··
··*··
·····
Que o teu código deve transformar neste:
1*3*1
13*31
·2*2·
·111·
Inscreve-te no Exercism para aprenderes e dominares Unison com 53 exercícios, e mentoria humana real, tudo grátis.
Exploramos ciclos for aninhados, o uso engenhoso de min/max para simplificar a verificação de limites, pipelines funcionais e a utilização de matrizes bidimensionais.