TSG第4回コードゴルフ大会
コードゴルフ大会も今回で4回目。私は頭のおかしい言語をやってたら1週間過ぎていました。
結局やったのはFugueという言語だけです。Pure Foldersというこれまた頭のおかしな言語もありましたが、入出力で手間取っている間にコンテスト終了。第5回で出会ったら絶対に〇す。
Fugueとは
ざっくり言うとmidiがプログラムになります。
Fugue(フーガ)はmidiファイルに音符を打ち込んで作るプログラミング言語で、Preludeという言語と実質等価です。
Preludeを書きます
はい。
v 0 v - v + v #(1-)# (1-)v 0 v+ # v #v v #v #v #v #v #v -v #v #v #v # ^ #0 v+ # 0 ^+ ^+ 0 v+ v #v #v #v v #v #v #v #v #v #v #v v #0 ^+ # (1-)#(1-) ^v # ^- v #v #v v v #v #v -v #v #v #v v # # #v^ #(1-)#(1-)^ 0 v+ v v #v #v #v #v #v -v #v #v #v #v # ^ # ^v # ^+ 0 v+ 6(1-) v #v #v #v #v #v v #v #v #v #v v #v # ^ #(1-)#(1-)^v # ^- 8+ v # v #v v #v #v #v v #v #v -v v #v # # #^ v #(1-)#(1-)^ 0 v+ ?^- ^+ ?^-+?# # # # # # # # # # # # ^ # ^v # ^- 2+ (1- 9(1-)# )^ #^ #0^ -^ #^ #^ #^ #^ #^ +^ ^ #^ # # # v v v #(1-)#(1-)^ ^ #^ # ^ #^ #^ ^ #^ #^ #^ #^ #^ #^ #^ ^ # # # v ^ 0 v+ ^ #^ # ^ #^ #^ ^ #^ #^ #^ #^ #^ -^ # ^ # ^v # ^+ ^ ^ # ^ #^ #^ #^ #^ #^ #^ ^ #^ #^ # ^ #(1-)#(1-)^ 0 v+ ^ #^ ^ #^ #^ #^ #^ #^ #^ #^ #^- ^ # ^v # ^- v # ^ #^ # ^ #^ ^ #^ #^ #^ #^ ^ # ^ # ^ #(1-)#(1-)^ 0 v+ # v # 1+ #^ 8+ ! ^ #^ # ^ #^ ^ #^ #^ #^ # ^ - ^ # ^v # ^+ # v # 1+ #^ 55+-(55++0)# 8+ ! ^ #^ # ^ ^ #^ #^ #^ ^ # ^ # ^ #(1-)#(1-)^ 0 v+ # v # 1+ #^ 55+-(55++0)# 8+ ! ^ ^ # ^ # ^ #^ #^ #^ # ^- ^ # ^v # ^- # v # 1+ #^ 55+-(55++0)# 8+ ! ^ # ^ # ^ #^ ^ #^ ^ # ^ #(1-)#(1-)^ 0 v+ # 1+ #^ 55+-(55++0)# 8+ ! ^ # ^ # ^ #^ ^ # ^- ^v # ^+ # 1+55+-(55++0)# 8+ ! ^ ^ # ^ # ^ ^ # ^ #(1-)#(1-)^ 0 v+ 0 1+ (1- )6(1-) ^ ^ # ^ # ^- ^v # ^- (6-) ^ ^ ^ #(1-)#(1-)
Preludeはスタックを複数使って、先頭の値をスタック間でやり取りして何とかする言語です。細かい解説は最後のURLにそれとなく書いてるし、brainf∨ck並みに出来る処理が少ないので頑張る感じです。
MIDIに打ち込みます
Dominoを使って頑張ります。出来た楽譜がこんな感じ。
感想
頭おかしい。
細かいことは全部第4回コードゴルフ大会 WriteUp · hakatashi/esolang-battle Wiki · GitHubに書いたので、ここのコンテンツはただpdfと音楽を置きたかったの一言に集約されています。