私たち全員が知っているように、ゼルダシリーズはこれまでに作られた最高のゲームシリーズの一つです。それを記念して、オカリナでいくつかの曲を演奏しましょう。
チャレンジ:
曲を指定すると、その特定の曲のスコアを標準出力に出力するプログラムを作成します。
入力:
スコアを出力する必要がある曲は、以下に示すように、ユニークな3文字の組み合わせで与えられます。
zel - Zelda's Lullaby
sas - Saria's Song
eps - Epona's Song
sos - Sun's Song
sot - Song of Time
sst - Song of Storms
ボーナスソング、各-7%:
mof - Minuet of Forest
bof - Bolero of Fire
sow - Serenade of Water
nos - Nocturne of Shadow
ros - Requiem of Spirit
pol - Prelude of Light
ボーナスソング2、-8%:
scs - Scarecrow's song
皆知っているように、かかしの歌はあなたが自分で作曲した歌です。この歌には8つの音符が必要です。他のすべてのスコアとは異なる自分で作成したスコアを出力します。
すべての曲を含めることにした場合、合計でバイトスコアに-50%のボーナスが加算されます。
出力:
出力の注記は、次の文字で記号化されています。
^
<
>
V
A
次の形式でスコアを出力します。
-^-^-^-^-^-^-^-^-
-<-<-<-<-<-<-<-<-
->->->->->->->->-
-V-V-V-V-V-V-V-V-
-A-A-A-A-A-A-A-A-
列ごとに1つのメモのみが許可されます。簡単にするために、元の4行に別の行を追加しました。
各メモは異なる行に対応しています。
^: ----------------
<: ----------------
>: ----------------
V: ----------------
A: ----------------
出力はstdoutに書き込まれます。末尾の改行が許可されます。
例:
入力(ゼルダの子守by):
zel
出力:
---^-----^-------
-<-----<---------
----->----->-----
-----------------
-----------------
入力(火のボレロ):
bof
出力:
-----------------
-----------------
--------->--->---
-V---V-----V---V-
---A---A---------
注チートシート:
zel
<^><^>
sas
V><V><
eps
^<>^<>
sos
>V^>V^
sot
>AV>AV
sst
AV^AV^
mof
A^<><>
bof
VAVA>V>V
sow
AV>><
nos
<>>A<>V
ros
AVA>VA
pol
^>^><^
オカリナコードゴルフをプレイしているため、バイト単位の最短プログラムが勝ちです!
歌の参照:
http://www.thonky.com/ocarina-of-time/ocarina-songs
http://www.zeldadungeon.net/Zelda05-ocarina-of-time-ocarina-songs.php
v
ほうが見やすいと思います。