ゾンビの黙示録が来て、世界は終わりに近づいています。突然、誰かが現在の時、分、日を取る式を発見し、それを聞いたすべてのゾンビを即座に殺すピアノで演奏するための完璧な音を吐き出します。残念ながら、世界にはピアノ奏者が1人しかいないため、ノートの読み方を忘れていましたが、楽譜の読み方はまだ知っています。もちろん、これは非常に時間に敏感なことなので、コンピューターにそれをさせるのは自然なことです。1
あなたの課題は、などのメモを取り、次のようにG
譜表に配置されたメモを高音部記号で出力することです。
-----
-----
|
---|-
|
--O--
-----
仕様:
-----
(5ダッシュ)と空白行の交互の行の譜表を出力する必要があります。-----
合計5 秒になります。この譜表の上に音符を重ねる必要があります。- 入力により、ノートの場所が指定されます。入力は次のようになります。
- オプションの
H
orL
、「high」または「low」を指定 - から
A
までの文字でG
、ピッチを指定します - オプションの
#
またはb
、シャープまたはフラットを指定します。
- オプションの
- 「メモ」は次のように定義されます。
O
音符の場所にある譜表の中央に配置された1つ(大文字のO)。(一番上の行はHF
(高F)、一番下の行はE
(通常のE)です。)- 3つ
|
のs(垂直バー)、ステム。- 音符が中央の行(
B
)または上にある場合、音符の左に1スペース、下に行く(音符の下に1スペース開始)、または - 音符が中央線より下にある場合、音符の右側に1スペース、上に行く(音符の上に1スペース開始)。
- 音符が中央の行(
- A
#
またはb
入力で指定されている場合、ノートの左に直接1つのスペース。
- メモが高すぎたり低すぎたりする場合は、元帳行を追加する必要があります。これらの行は
---
(5ではなく幅が3ダッシュのみ)、ノートが元帳行の上または下(上/下元帳行の場合)にある場合にのみ表示されます。 - 余分なスペースを任意の場所に配置できます。たとえば、文字の保存に役立つ場合は、空白行にスペースを入れるか、元帳行の後にスペースを入れることができます。
以下は、仕様をより簡単に理解するための視覚化で、すべてのノート名が行の横にあります。
HB
--- HA
HG
----- HF
HE
----- HD
HC
----- B
A
----- G
F
----- E
D
--- C
LB
--- LA
LG
--- LF
... (bottom cut off for brevity, you get the idea anyway)
プログラムをテストするために使用できるいくつかの例を次に示します。
入力: HG#
#O
-|---
|
-|---
-----
-----
-----
入力: LAb
-----
-----
-----
-----
-----
|
--|
|
bO-
入力: HB
O
|--
|
-|---
-----
-----
-----
-----
入力: C
-----
-----
-----
-----
|
---|-
|
-O-
これはcode-golfなので、バイト単位の最短コードが勝ちます!
1:最も現実的な展示エバー!:-P
#
か、b
ノートの右側ではなく左側にあります。本当に必要なものですか?