Vamos fazer um exercício juntos, sim? Basta seguir os movimentos do stickman. Que stickman você pergunta? O que estamos prestes a criar!
Crie um programa que permita uma entrada de seqüência de caracteres contendo apenas números inteiros e produza as nove figuras seguintes com um intervalo entre elas:
@ \@/ |@_ _@| @/ \@ |@| \@\ /@/
/|\ | | | | | | | |
/ \ / \ / \ / \ /|\ /|\ / \ / \ / \
1 2 3 4 5 6 7 8 9
Isso resultará em uma animação, que podemos seguir ao longo da irl.
Aqui está um exemplo da saída criada quando a entrada é " 123245762
":
Algumas regras:
- Isso é marcado como code-golf , então o código mais curto em bytes ganha
- A entrada é
string
apenas uma contendo[1-9]
com um comprimento potencialmente variando de 2 a 100 caracteres ** - A animação deve ser um loop sem fim
- O intervalo de tempo deve ser 750 ms
- Nenhum número inteiro adjacente duplicado é permitido na entrada - isso também inclui o primeiro e o último número inteiro da entrada (consulte o sétimo e o oito casos de teste) **
** A decisão de como ela falha no caso de entrada inválida é totalmente sua, mas deve ficar claro que ela falhará . Poderia lançar uma exceção; simplesmente retorne no início; reinicie o seu PC; exclua seu próprio código-fonte / compilação; invadir as forças armadas e disparar um foguete para a localização GPS de compilação. Sua chamada. EDIT: Não é permitido exibir simplesmente uma animação (correta / metade) como entrada com falha. Deve ficar claro que há algo errado com a entrada para os casos de teste com falha abaixo. Agradeço a @ user81655 por trazer isso à minha atenção, daí a edição.
Sub-regras:
- Poste o gif em um dos casos de teste (sem falha) abaixo em sua resposta, o que você pode facilitar com o seguinte programa: screentogif.codeplex.com (é claro que qualquer outro programa de criação de gif também é permitido).
- Pontos de bônus se você realmente fizer o exercício juntamente com a animação irl quando ela terminar. ;)
Casos de teste corretos:
123245762
65
121234346565879879132418791576
Casos de teste com falha:
2
// Muito poucos caracteres7282918274959292747383785189478174826894958127476192947512897571298593912374857471978269591928974518735891891723878
// Demasiados caracteres1232405762
// Contendo entrada inválida (the0
)112212
// Falha por causa do11
e22
presente1232457621
// Falha devido ao início e à liderança1