Wkład
Symbol dowolnego triadycznego akordu (patrz http://en.wikipedia.org/wiki/Chord_(music)#Triads ).
Wydajność
Nuty składające się na dany akord.
Przykłady
Wejście: AM
Wyjście:A C# E
Wejście: C#m
Wyjście:C# E G#
Wejście: Db+
Wyjście:C# F A
Wejście: C0
Wyjście:C D# F#
Bonusy
-50, jeśli poradzisz sobie również z siódmymi akordami
-150 za faktyczne odtwarzanie dźwięku akordu
-150 za użycie znaków do wydrukowania, aby pokazać, jak grać akord na pianinie; przykład dla AM
:
┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┲┛┗┱┘ │ ┗┯┛└┲┛ ┃ └┬┘└┬┘└┬┘ │
│ │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │
└──┴──┴──┴──┴──┺━━┹──┴──┴──┺━━┹──┴──┴──┴──┘
-100 za użycie znaków do wydrukowania, aby pokazać, jak grać akord na gitarze; przykład dla AM
:
x o o o o o
┌───┬───┬───┬───┬───┐
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ █ █ █ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
(patrz https://en.wikipedia.org/wiki/Box-drawing_character )
Zasady
Wynik musi być programem wiersza polecenia lub skryptem.
Dane wejściowe i wyjściowe mogą mieć dowolną formę, o ile są zgodne ze standardem notacji muzycznej.
Reprezentacja gitary lub fortepianu jest uważana za ważną tylko wtedy, gdy zawiera trzy (triadyczne) lub cztery (siódme) wymagane nuty i nic więcej. Ta sama nuta może występować kilka razy w akordzie.
Zewnętrzne biblioteki nie są dozwolone, z wyjątkiem generowania dźwięku (w którym to przypadku
#include
,import
... Dyrektywy nie są dodawane do liczby znaków).To jest kod golfowy, wygrywa najkrótszy kod!
Trochę teorii muzyki ...
We współczesnej zachodniej muzyce tonalnej każda oktawa składa się z dwunastu następujących po sobie nut:
A
A#
B
C
C#
D
D#
E
F
F#
G
G#
Lub:
La
La#
Si
Do
Do#
Re
Re#
Mi
Fa
Fa#
Sol
Sol#
W tym systemie uważamy, że dwie kolejne nuty (np. A
I A#
, lub E
i F
) są oddzielone jednym półtonem. Ponadto, notatki są rodzajem „zapętlenie”: co natychmiast następuje G#
to A
.
Akord składa się z kilku (2, 3, 4, czasem więcej) nut, które „brzmią razem dobrze”. Na przykład akordy triadowe zawierają trzy różne nuty, a siódmy akord zawiera cztery różne nuty.
Zdefiniujmy cztery triady akordowe jako:
Major triada : zawiera pierwiastek akordu (w tym pytaniu nutę podaną jako dane wejściowe), trzecią część główną dla rdzenia (4 półtony wyższe od rdzenia) i idealną piątą dla rdzenia (7 półtonów powyżej rdzenia ); może to być symbolizowane 0-4-7
Drobna triada , symbolizowana 0-3-7
Rozszerzona triada , symbolizowana 0-4-8
Zmniejszona triada , symbolizowana 0-3-6
Tak na przykład, jeśli chcesz dokonać C-dur triadę , zauważył C
, CM
, Cmaj
, trzeba będzie trzy zauważył:
- 0: root , w tym przypadku a
C
- 4: mniejsza trzecia , 4 półtony wyższe niż korzeń; to jest
E
- 7: idealna piąta , 7 półtonów wyższa od rdzenia: a
G
To właśnie 0-4-7
, 0-3-7
, 0-4-8
i 0-3-6
notacje użyte powyżej średniej! W przypadku siódmego akordu użyj następującego wzoru:
To tyle na dzisiaj! Teraz zadziwi mnie niesamowitym kodem ... Jeśli masz jakieś pytania, dodaj kilka komentarzy poniżej.
Db+
czy Db F A
nie ma tam D # lub G. To może trochę więcej teorii niż to konieczne, formuły były ważną częścią. Jeśli naprawdę chcesz dołączyć wszystkie osiem siódmych akordów wymienionych w wikipedii, powinieneś podać dane wejściowe. Zakładam, że ascii-art fortepian i gitara są elastyczne.