O Flower Field é uma reinvenção compassiva do popular jogo Campo Minado. O objetivo do jogo é encontrar todas as flores do jardim com a ajuda de pistas numéricas que indicam quantas flores estão diretamente adjacentes (na horizontal, na vertical e na diagonal) a uma casa. O "Flower Field" veio incluído em versões regionais do Microsoft Windows na Itália, na Alemanha, na Coreia do Sul, no Japão e em Taiwan.
A tua tarefa é acrescentar a contagem de flores às casas vazias de um jardim Campo de Flores já completo.
O jardim é um tabuleiro retangular composto por casas que estão vazias (' ') ou contêm uma flor ('*').
Para cada casa vazia, conta o número de flores adjacentes (na horizontal, na vertical e na diagonal). Se a casa vazia não tiver flores adjacentes, deixa-a vazia. Caso contrário, substitui-a pelo número de flores 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 serem visíveis no ecrã):
·*·*·
··*··
··*··
·····
E o teu código deve transformá-lo nisto:
1*3*1
13*31
·2*2·
·111·
O jardim é representado como uma string terminada em null, com um caráter de nova linha no fim de cada linha.
Um exemplo seria " \n * \n \n"
| Registo | Utilização | Tipo | Descrição |
|---|---|---|---|
$a0 |
entrada | endereço | string de entrada terminada em null |
$a1 |
entrada/saída | endereço | string de saída terminada em null |
$t0-9 |
temporário | qualquer | para armazenamento temporário |
Inscreve-te no Exercism para aprenderes e dominares MIPS Assembly com 70 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.