チャレンジ
月の満ち欠けを考えて、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グリッドに配置されます(文字の寸法比のため)。.
任意の文字および#
他の非空白文字に置き換えることができます。
新月の出力は次のようになります。
................
................
................
................
................
................
................
................
三日月ワックス用:
..........######
............####
.............###
.............###
.............###
.............###
............####
..........######
第1四半期の場合:
........########
........########
........########
........########
........########
........########
........########
........########
ギブスワックス用:
......##########
....############
...#############
...#############
...#############
...#############
....############
......##########
満月の場合:
################
################
################
################
################
################
################
################
衰退した三日月は、衰退したギブスとワックスがけのギブス、および最初と最後のクォーターと同様に、各行が反転したちょうどワックスがかかった三日月です。
ルール
- 標準的な抜け穴が適用されます
- 必要に応じて、反対方向にワックス/ワーニングを出力することもできますが、違いはないはずです(この質問に示されているグラフィックは、北半球のものです)
- 出力は指定されたとおりでなければなりません。改行は適切な行区切り文字にすることができ、必要に応じて末尾の改行を使用できます。
MoonPhase["Icon"]
Mathematicaでは17バイトです…