Вызов
Учитывая фазу луны, нарисуйте ее, используя искусство ASCII.
Ваша программа должна обрабатывать новолуние, растущий полумесяц, первую четверть, растущую гиббусу, полную луну, убывающую гиббусу, последнюю четверть и убывающий полумесяц. Ваш ввод будет целым числом.
0 -> new moon
1 -> waxing crescent
2 -> first quarter
3 -> waxing gibbous
4 -> full moon
5 -> waning gibbous
6 -> last quarter
7 -> waning crescent
Искусство ASCII все размещено в сетке 16x8 (потому что размеры символов). Вы можете заменить .
любым символом и #
любым другим непробельным символом.
Выход для новолуния должен быть:
................
................
................
................
................
................
................
................
Для вощения полумесяца:
..........######
............####
.............###
.............###
.............###
.............###
............####
..........######
За первый квартал:
........########
........########
........########
........########
........########
........########
........########
........########
Для вощения гиббуса:
......##########
....############
...#############
...#############
...#############
...#############
....############
......##########
И для полной луны:
################
################
################
################
################
################
################
################
Убывающий полумесяц - это просто растущий полумесяц с каждой перевернутой линией, как с убывающим гиббусом и растущим гиббусом, а также в первой и последней четверти.
правила
- Стандартные лазейки применяются
- При желании вы можете выводить растущие / убывающие значения в противоположном направлении, хотя это не должно иметь значения (графики, показанные в этом вопросе, относятся к северному полушарию).
- Ваш вывод должен быть точно таким, как указано. Ваши новые строки могут быть любым разумным разделителем строк, и вы можете использовать завершающий перевод новой строки, если хотите.
MoonPhase["Icon"]
в Mathematica 17 байтов ...