Prima di partire, non devi capire molta notazione musicale per fare questa sfida.
SPIEGAZIONE
Negli spartiti standard, le doppie chiavi vanno attraverso la pagina fungendo da punti di riferimento alle note, per farti sapere quale nota deve essere suonata. Se non hai già familiarità con la chiave di violino e basso, ecco una descrizione da Wikipedia:
Una chiave è un simbolo musicale usato per indicare l'altezza delle note scritte. Posizionato su una delle linee all'inizio del pentagramma, indica il nome e l'intonazione delle note su quella linea. Questa linea funge da punto di riferimento in base al quale è possibile determinare i nomi delle note su qualsiasi altra linea o spazio del pentagramma.
Nell'immagine sopra, la metà superiore delle linee è la chiave di violino, indicata con a
La metà inferiore è la chiave di basso, indicata con a
Come si può vedere sulla chiave di violino una nota sul fondo più-line è un E . (Non sto contando note al di fuori delle linee di chiave di questa sfida) Sulla chiave di basso, la linea più basso è un G . Per completare questa sfida, è necessario effettuare le seguenti operazioni:
SFIDA
Dato un input in una delle seguenti forme (a tua scelta), convertilo nella chiave opposta. Che si tratti della chiave di violino o di basso, può essere un valore di Truthey / Falsey nella tua lingua (non solo due valori), ad es.
F # T o F # True o F # Treble
ma no
F # -1 o F # 4
Gli spazi e le maiuscole sono opzionali, gli appartamenti non verranno visualizzati e gli spazi bianchi finali non sono consentiti.
Input Expected Output
E Treble G
F Treble A
F# Treble A#
G Treble B
G# Treble C
A Treble C
A# Treble C#
B Treble D
C Treble E
C# Treble F
D Treble F
D# Treble F#
E Treble G
F Treble A
F# Treble A#
G Bass E
G# Bass F
A Bass F
A# Bass F#
B Bass G
C Bass A
C# Bass A#
D Bass B
D# Bass C
E Bass C
F Bass D
F# Bass D#
G Bass E
G# Bass F
A Bass F
A# Bass F#
Attenzione, questa non è una banale sfida a differenza costante. Osserva attentamente gli ingressi e le uscite. Se guardi un piano,
i tasti neri sono appuntiti, indicati da #. Nota che non c'è un E # o un B #. Ciò significa che se ti viene dato G # sulla chiave di Bass, invece di restituire E # , devi restituire F
Questo è code-golf , quindi vince il conteggio dei byte più piccolo.
C
invece di C
)?
1
e -1
(o addirittura dire, 4
e -4
) per l'input dell'indicatore chiave è consentito o sarebbe accettabile solo se sono valori di verità / falsità nella nostra lingua?