Pamiętasz te zabawne wiatraczki, które dmuchasz i kręcą się w kółko? Kodujmy jeden!
Wiatraczek będzie miał zestaw znaków \ | / _
rysujących jego środek i ramiona. Jeden z możliwych wiatraczek może wyglądać następująco:
|
|
|_ ___
___|_|
|
|
|
Ale czym jest wiatraczek, który się nie kręci? Nie ma zabawy! Możemy go obrócić, zmieniając symbole:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
Wyzwanie polega na stworzeniu programu, który pobiera trzy liczby całkowite i generuje wiatraczek, jak określono poniżej. Pierwsze z nich to liczba ramion, jakie ma, drugie to długość ramion wiatraczka, a trzecie to liczba obrotów, w których obróci się o jedną ósmą obrotu w prawo.
Możesz założyć, co następuje:
- Liczba ramion zawsze będzie wynosić 0, 1, 2, 4 lub 8.
- Wszystkie ramiona będą w równych odstępach od siebie.
Początkowa pozycja koła zębatego będzie miała swój środek w następujący sposób:
_ |_|
Jeśli liczba ramion wynosi 1, możesz zdecydować, w którym kierunku wskazane jest ramię.
- Jeśli liczba ramion wynosi 2, możesz zdecydować, aby ramiona były skierowane pionowo lub poziomo.
Możesz napisać pełny program, który pobiera dane wejściowe za pomocą argumentu STDIN lub wiersza polecenia, lub funkcję, która pobiera dane wejściowe za pomocą argumentów funkcji. Twój program musi pokazywać sekwencję wyjść, która pokazuje obracanie się wiatraczka, każde oddzielone co najmniej jedną pustą linią. Środek wiatraczka nie powinien poruszać się o więcej niż jedno pole. Możesz wydrukować tyle spacji początkowych i końcowych, ile potrzeba.
Oto kilka przykładów:
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
To jest kod golfowy, więc wygrywa najkrótszy kod. Powodzenia!
1 3 5
i ramię początkowo skierowane w górę), należy wcześniej wstawić spacje, aby to uwzględnić.