Simula o percurso de um presente dentro de uma fábrica e devolve como ele termina. Para isso, deves criar uma função runFactory(factory).
factory é um string[] onde cada célula pode ser:
> < ^ v movimentos
. saída correta
Tem em conta que todas as linhas têm o mesmo comprimento e que não haverá outros símbolos.
O presente começa sempre na posição (0,0) (canto superior esquerdo). Em cada passo lê a célula atual e move-se de acordo com a direção. Se chegar a uma célula com um ponto (.) significa que saiu corretamente da fábrica.
Resultado
Devolve um destes valores:
'completed' se chegar a um .
'loop' se visitar uma posição duas vezes
'broken' se sair fora do tabuleiro
Exemplos
runFactory([
'>>.'
]) // 'completed'
runFactory([
'>>>'
]) // 'broken'
runFactory([
'>><'
]) // 'loop'
runFactory([
'>>v',
'..<'
]) // 'completed'
runFactory([
'>>v',
'<<<'
]) // 'broken'
runFactory([
'>v.',
'^..'
]) // 'completed'
runFactory([
'v.',
'^.'
]) // 'loop'