Lembra-se daqueles cata-ventos divertidos que você assopra e eles giram sem parar? Vamos codificar um!
Um cata-vento terá o conjunto de caracteres \ | / _
desenhando seu centro e braços. Um possível cata-vento poderia ser assim:
|
|
|_ ___
___|_|
|
|
|
Mas o que é um cata-vento que não gira? Não é divertido! Podemos fazê-lo girar reorganizando os símbolos:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
O desafio é criar um programa que use três números inteiros e produza um cata-vento, conforme especificado abaixo. O primeiro deles é o número de braços que possui, o segundo é o comprimento dos braços do cata-vento e o terceiro é o número de vezes que ele gira um oitavo de uma rotação no sentido horário.
Você pode assumir o seguinte:
- O número de armas sempre será 0, 1, 2, 4 ou 8.
- Todos os braços serão igualmente espaçados um do outro.
A posição inicial do cata-vento terá seu centro assim:
_ |_|
Se o número de braços for 1, você pode decidir em qual direção o braço aponta.
- Se o número de braços for 2, você pode decidir apontar os braços na vertical ou na horizontal.
Você pode escrever um programa completo que receba entrada por meio de STDIN ou argumento da linha de comando ou uma função que aceita entrada por argumentos de função. Seu programa deve mostrar uma sequência de saídas que mostra a rotação do cata-vento, cada uma separada por pelo menos uma linha vazia. O centro do cata-vento não deve se mover em mais de um espaço. Você pode gerar quantos espaços iniciais e finais forem necessários.
aqui estão alguns exemplos:
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
Isso é código de golfe, então o código mais curto vence. Boa sorte!
1 3 5
e o braço inicialmente apontando para cima), os espaços precisarão ser anexados nas saídas anteriores para acomodar isso.