Memasukkan
Simbol dari setiap akord triadik (lihat http://en.wikipedia.org/wiki/Chord_(music)#Triads ).
Keluaran
Nada-nada itu merupakan akor yang diberikan.
Contohnya
Input: AM
Keluaran:A C# E
Input: C#m
Keluaran:C# E G#
Input: Db+
Keluaran:C# F A
Input: C0
Keluaran:C D# F#
Bonus
-50 jika Anda juga bisa menangani akord ketujuh
-150 untuk benar-benar memainkan suara akord
-150 untuk menggunakan karakter yang dapat dicetak untuk menunjukkan cara memainkan akor pada piano; contoh untuk AM
:
┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┲┛┗┱┘ │ ┗┯┛└┲┛ ┃ └┬┘└┬┘└┬┘ │
│ │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │
└──┴──┴──┴──┴──┺━━┹──┴──┴──┺━━┹──┴──┴──┴──┘
-100 untuk menggunakan karakter yang dapat dicetak untuk menunjukkan cara memainkan chord pada gitar; contoh untuk AM
:
x o o o o o
┌───┬───┬───┬───┬───┐
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ █ █ █ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
(lihat https://en.wikipedia.org/wiki/Box-drawing_character )
Aturan
Hasilnya harus berupa program atau skrip baris perintah.
Input dan output dapat dalam bentuk apa saja, asalkan mengikuti standar notasi musik.
Representasi gitar atau piano dianggap valid jika dan hanya jika itu berisi tiga (triadik) atau empat (ketujuh) catatan yang diperlukan dan tidak ada yang lain. Catatan yang sama dapat ditampilkan beberapa kali dalam chord.
Pustaka eksternal tidak diperbolehkan, kecuali untuk generasi suara (dalam hal ini
#include
,import
... arahan tidak ditambahkan ke jumlah karakter).Ini golf kode, kode terpendek menang!
Sedikit teori musik ...
Dalam musik nada barat modern, setiap oktaf dibuat dari dua belas not berturut-turut, sering dicatat:
A
A#
B
C
C#
D
D#
E
F
F#
G
G#
Atau:
La
La#
Si
Do
Do#
Re
Re#
Mi
Fa
Fa#
Sol
Sol#
Dalam sistem ini, kami menganggap bahwa dua not berurutan (misalnya A
dan A#
, atau E
dan F
) dipisahkan oleh satu semiton. Juga, catatan-catatan itu semacam "perulangan": yang segera menyusul G#
adalah A
.
Sebuah akor dibentuk oleh beberapa (2, 3, 4, kadang-kadang lebih) catatan bahwa "terdengar bagus bersama". Misalnya, akord triadik berisi tiga not yang berbeda, dan akord ketujuh berisi empat not yang berbeda.
Mari kita mendefinisikan empat akord triadik sebagai:
Triad utama : berisi akar akor (dalam pertanyaan ini, catatan diberikan sebagai input), sepertiga utama untuk root (4 semitones lebih tinggi dari root), dan kelima sempurna untuk root (7 semitones lebih tinggi dari root ); ini bisa dilambangkan 0-4-7
Triad kecil , dilambangkan 0-3-7
Triad augmented , disimbolkan 0-4-8
Triad berkurang , disimbolkan 0-3-6
Jadi misalnya, jika Anda ingin membuat C triad utama , mencatat C
, CM
, Cmaj
, Anda akan membutuhkan tiga mencatat:
- 0: root , dalam hal ini a
C
- 4: sepertiga minor , 4 semiton lebih tinggi dari root; itu sebuah
E
- 7: kelima sempurna , 7 semiton lebih tinggi dari root: a
G
Ini adalah apa yang 0-4-7
, 0-3-7
, 0-4-8
dan 0-3-6
notasi yang digunakan di atas rata-rata! Untuk akord ketujuh, gunakan pola berikut:
Itu untuk hari ini! Sekarang, buat saya takjub dengan kode luar biasa ... Jika Anda memiliki pertanyaan, tambahkan beberapa komentar di bawah.
Db+
apakah Db F A
tidak ada D # atau G di sana. Itu mungkin sedikit lebih banyak teori daripada yang diperlukan, formula adalah bagian penting. Jika Anda benar-benar ingin memasukkan semua delapan dari chord ketujuh yang terdaftar di wikipedia Anda harus menentukan input. Saya menganggap output ascii-art dari piano dan gitar fleksibel.