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)run_factory(factory).
factory é um string[] onde cada célula pode ser:
> < ^ v movimentos. saída corretaTem 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 tabuleiroExemplos
runFactory([
'>>.'
]) // 'completed'
runFactory([
'>>>'
]) // 'broken'
runFactory([
'>><'
]) // 'loop'
runFactory([
'>>v',
'..<'
]) // 'completed'
runFactory([
'>>v',
'<<<'
]) // 'broken'
runFactory([
'>v.',
'^..'
]) // 'completed'
runFactory([
'v.',
'^.'
]) // 'loop'run_factory([
'>>.'
]) # 'completed'
run_factory([
'>>>'
]) # 'broken'
run_factory([
'>><'
]) # 'loop'
run_factory([
'>>v',
'..<'
]) # 'completed'
run_factory([
'>>v',
'<<<'
]) # 'broken'
run_factory([
'>v.',
'^..'
]) # 'completed'
run_factory([
'v.',
'^.'
]) # 'loop'