Not : Anders Kaseorg, bunun bir önceki sorunun başka bir kopyası olabileceği konusunda beni uyardı . Öyle görünüyor ve özür dilerim bu soruyu göndermeden önce bu soruyu bulamadım. Bununla birlikte, bu soru yalnızca bir cevap aldı ve bu sefer daha kolay, sadece bu sefer denemek istemeniz durumunda. Yine de, bu sorunun kopya olarak işaretlenip bitmediğini anlayacağım.
Meydan okuma
Bunun gibi bir girdi verilir:
8g 8Df 4cs 2C 1A
Bunun gibi bir çıktı üreten en kısa programı / işlevi yazın:
/\ -o-
| |
---|-|---------------------------------------------------|-|
|/ | |
---/|--------|\----b-*-----------------------------------|-|
/ | | | | o | |
-|--|--------|------|-----------------|------------------|-|
| (| \ | | | | | |
-|--|--)----*-------|/---------|------|------------------|-|
\ | / | | | |
-----|-------------------------|-------------------------|-|
| |
*_/ #-*-
kurallar
Çıktı, tam olarak yukarıda gösterildiği gibi bir G-nota anahtarı çekilmesi ile başlayan, personelin soluna hizalı ve personelin başlamasından sonra tek bir sütun bırakan beş hatlı bir personelden oluşmalıdır.
/\
| |
---|-|--
|/
---/|---
/ |
-|--|---
| (| \
-|--|--)
\ | /
-----|--
|
*_/
^
Single column
Notlar , türüne bağlı olarak bir *
veya bir o
karakterle başlamalıdır .
Her *
veya bir o
karakterden tam olarak sekiz tane ayırma sütunu olmalıdır :
/\ -o-
| |
---|-|---------------------------------------------------|-|
|/ | |
---/|--------|\----b-*-----------------------------------|-|
/ | | | | o | |
-|--|--------|------|-----------------|------------------|-|
| (| \ | | | | | |
-|--|--)----*-------|/---------|------|------------------|-|
\ | / | | | |
-----|-------------------------|-------------------------|-|
| |
*_/ #-*-
↑ ↑ ↑ ↑ ↑ ↑ ↑
8 columns of separation
Personel, örnekte gösterildiği gibi sağa hizalanmış sonlandırıcıyla bitmelidir. Sonlandırıcının sol çubuğu, son notadan 8 sütun ayrılmalıdır.
Giriş, her biri bir boşlukla ayrılmış (her notun uygun olacağını düşünebilirsiniz, bu nedenle hataları kontrol etmeniz gerekmez) olan, notları içeren (en az bir, boş giriş yok) tek bir dize olacaktır. Girdiyi, dizideki öğe başına bir not ile birlikte bir dize dizisi olarak da alabilirsiniz. Her bir not için ilk karakter not uzunluğunun (payda olacak 1
bir için bütün not / semibreve ile başlar o
; 2
bir için yarım notu / minim ile başlar o
; 4
bir için çeyrek notu / crotchet ile başlar *
ve 8
bir için sekizinci not / quaver , ile başlar*
). İkinci karakter not olacaktır (bir sonraki tabloya bakınız) ve üçüncü, isteğe bağlı karakter f
veya F
düz notlar ve / s
veya S
keskin notlar için olacaktır.
--- A (ledger line)
G
-------- F
E
-------- D
C
-------- b
a
-------- g
f
-------- e
d
--- c (ledger line)
Açıkçası, girdi notlar için duruma saygı göstermelidir, ancak f
ve s
değiştiricilerin durumunu seçebilirsiniz .
Notlar c
ve personeli genişletmeleri gerektiğinden her iki tarafta birer tane olmak üzere A
iki -
(satır defteri) eklemek gerekir. Notlar d
ve G
personel dışındadır ancak defter hatlarına ihtiyaç duymazlar.
Yassılaştırılmış veya keskinleştirilmiş notlar notun sol tarafına b
veya #
iki konum eklemelidir .
Saplar (varsa) 4 dikey çubukla çizilmelidir. b
Yukarıdan ve yukarıdan gelen notlar , gövdeyi aşağıya ve notun sol tarafına çekmelidir. Alt a
ve alt notalarda kök yukarı ve notun sağ tarafına çekilmelidir. Quavers bayrağı her zaman sağa ve aynen gösterildiği gibi eklemelidir ve üst üste birkaç tane varsa, ışınlanmasına gerek yoktur.
--------------------------
-----|\----b-*------------
| | |
-----|------|-------------
| | |
----*-------|/---------|--
↑↑ |
----||------↑↑---------|--
|| || |
|| || #-*-
|\ |\ ↑↑
| Stem | Note | Stem
Note Stem Note
Her zaman olduğu gibi, programınız / işleviniz çıktıyı doğrudan çizebilir veya bir dize, dizi dizisi, karakter matrisi veya başka bir makul formatta dönebilir.
Kullanışlı bağlantılar
Bu kod golf , yani her dil için en kısa program / işlev kazanabilir!
Bonus: ünlü melodilerle örnekler yazmaya çalışın ve herkesin hangi melodi olduğunu tahmin etmesine izin verin!