音符の入力が与えられると、高音部記号の対応する主キーのASCII図面を出力します。
すべての主要なキー(二重シャープまたは二重フラットを含まない)とそれらに対応するキーシグネチャは次のとおりです。
ウィキペディアのユーザーによる5分の1のデラックス4、プレーンビル、著作権CC BY-SA 3.0
入力がシャープのあるキーである場合、適切な数のシャープを使用して次のASCIIアートを描画します。
#
-#-------
#
----#----
#
-------#-
#
---------
---------
そして、入力がフラットを持つキーの場合:
---------
b
----b----
b
-b-------
b
-----b---
b
---------
使用可能な入力の簡潔な概要と、使用するシャープまたはフラットの数は次のとおりです。
0 1 2 3 4 5 6 7
# C G D A E B F# C#
b C F Bb Eb Ab Db Gb Cb
ダッシュの5行すべてを常に描画する必要がありますが、各行のダッシュの長さが同じである限り、シャープまたはフラットの各側に少なくとも1列のパディングがあるように、行ごとに任意の数のダッシュが存在する場合があります。たとえば、これらはすべて入力の許容可能な出力でもありますAb
。
--------- ------ --------- ----------------
b b b b
----b---- ----b- -------b- ------b---------
-b------- -b---- ----b---- ---b------------
b b b b
--------- ------ --------- ----------------
--------- ------ --------- ----------------
シャープもフラットもないCメジャーの場合、1行(1つでも)に任意の正数のダッシュを使用できます。
各行の末尾のスペースと同様に、任意の量の先頭または末尾の空白で問題ありません。各行に同じ番号がある限り、余分な先行スペースは問題ありません。
必要に応じて、入力を小文字で入力したり、シャープまたはフラットなしの入力に末尾スペースを含めるように要求したりできます。
これはcode-golfであるため、バイト単位の最短ソリューションが勝ちます。