Kiamat zombie telah datang, dan dunia akan segera berakhir. Tiba-tiba, seseorang menemukan formula yang mengambil jam, menit, dan hari saat ini, dan mengeluarkan nada yang sempurna untuk bermain piano yang langsung membunuh setiap zombie yang mendengarnya. Sayangnya, hanya ada satu pemain piano yang tersisa di dunia, dan dia lupa cara membaca catatan, tetapi dia masih tahu cara membaca lembaran musik. Tentu saja, ini adalah hal yang sangat sensitif terhadap waktu, jadi sepertinya wajar jika komputer melakukannya. 1
Tantangan Anda adalah membuat catatan, seperti G
, dan menampilkan catatan yang diletakkan pada staf (dalam treble clef), seperti ini:
-----
-----
|
---|-
|
--O--
-----
Spesifikasi:
- Anda harus menampilkan staf garis bergantian
-----
(5 garis) dan garis kosong. Akan ada-----
total 5 s. Catatan itu harus ditumpangkan di atas staf ini. - Input akan menentukan di mana catatan itu berada. Inputnya adalah:
- opsional
H
atauL
, menentukan "tinggi" atau "rendah" - surat dari
A
keG
, yang menentukan nada - opsional
#
ataub
, menentukan tajam atau rata.
- opsional
- "Catatan" didefinisikan sebagai:
- Satu
O
(modal O) sejajar dengan tengah staf, yang ada di tempat catatan. (Garis atas adalahHF
(F tinggi), dan garis bawah adalahE
(E normal).) - Three
|
s (batang vertikal), batangnya, yaitu:- satu spasi di sebelah kiri note dan turun ke bawah (mulai satu spasi di bawah note) jika note ada di garis tengah (
B
) atau di atas, atau - satu spasi di sebelah kanan note dan naik ke atas (mulai satu spasi di atas note) jika note berada di bawah garis tengah.
- satu spasi di sebelah kiri note dan turun ke bawah (mulai satu spasi di bawah note) jika note ada di garis tengah (
- A
#
ataub
satu spasi langsung ke kiri catatan jika ditentukan dalam input.
- Satu
- Garis besar harus ditambahkan jika nada terlalu tinggi atau rendah. Garis-garis ini akan menjadi
---
(hanya 3 strip lebarnya, berlawanan dengan 5) dan hanya akan muncul jika catatan berada di atas atau di atas / di bawah (untuk masing-masing garis besar buku besar) garis besar buku besar. - Ruang asing dapat ditempatkan di mana pun Anda inginkan; misalnya, Anda dapat membuat garis kosong memiliki spasi atau memiliki spasi setelah garis besar buku jika membantu Anda menyimpan karakter apa pun.
Berikut adalah visualisasi, untuk memahami spesifikasi lebih mudah, dengan semua nama catatan di sebelah baris:
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)
Berikut ini beberapa contoh lain yang dapat Anda gunakan untuk menguji program Anda:
Memasukkan: HG#
#O
-|---
|
-|---
-----
-----
-----
Memasukkan: LAb
-----
-----
-----
-----
-----
|
--|
|
bO-
Memasukkan: HB
O
|--
|
-|---
-----
-----
-----
-----
Memasukkan: C
-----
-----
-----
-----
|
---|-
|
-O-
Ini adalah kode-golf , jadi kode terpendek dalam byte akan menang!
1: eksposisi evar paling realistis! :-P
#
ataub
di sebelah kanan catatan daripada di sebelah kiri; apakah ini benar-benar yang dibutuhkan?