¿Recuerdas esos molinetes divertidos que soplas y giran y giran? ¡Codifiquemos uno!
Un molinete tendrá el conjunto de personajes \ | / _
dibujando su centro y brazos. Un posible molinete podría verse así:
|
|
|_ ___
___|_|
|
|
|
Pero, ¿qué es un molinete que no gira? ¡No es divertido! Podemos hacerlo girar reorganizando los símbolos:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
El desafío es crear un programa que tome tres enteros y genere un molinete como se especifica a continuación. El primero de ellos es el número de brazos que tiene, el segundo es la longitud de los brazos del molinete, y el tercero es el número de veces que girará un octavo de una revolución en el sentido de las agujas del reloj.
Puede asumir lo siguiente:
- El número de brazos siempre será 0, 1, 2, 4 u 8.
- Todos los brazos estarán igualmente separados entre sí.
La posición inicial del molinete tendrá su centro así:
_ |_|
Si el número de brazos es 1, puede decidir en qué dirección apunta el brazo.
- Si el número de brazos es 2, puede decidir hacer que los brazos apunten vertical u horizontalmente.
Puede escribir un programa completo que reciba información a través de STDIN o argumento de línea de comandos, o una función que reciba información a través de argumentos de función. Su programa debe mostrar una secuencia de salidas que muestre el giro del molinete, cada uno separado por al menos una línea vacía. El centro del molinete no debe moverse más de un espacio. Puede generar tantos espacios iniciales y finales como sea necesario.
Aquí hay unos ejemplos:
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
Este es el código de golf, por lo que gana el código más corto. ¡Buena suerte!
1 3 5
y el brazo inicialmente apuntando hacia arriba), se necesitarán espacios en las salidas anteriores para acomodar esto.