ピカチュウbrain fxck
この記事はeeic advent calendar 2016 の17日目の記事(ピカチュウ語でブログ書いてみた - わかなぽのはてなぽ)の解説記事です。
まずはじめに、あのようなクソみたいなブログを解読してくださったみなさんありがとうございます。解読したところでどっちにしろクソみたいな文章しかでてこないクソofクソだったことでしょう。解読しようとしてくれる人がいるなんて思いもせず、「やばwアドベントカレンダー書いてないw(12月17日夜20時頃)」と「ピカチュウ可愛い!ピカチュウ語喋る〜〜〜〜〜」っていう気持ちに任せて勢いで作って、投稿してしまいました。申し訳ありません。
Brainfuckとは??
Brainfuck(ブレインファック)は難解プログラミング言語のひとつ[要出典]。なお名称に卑語が含まれるため、Brainf*ckなどと表記されることがある。
Wikipediaで簡潔に説明されています。それをさらに要約すると、><+-.,[]の8つの記号だけを用いたチューリング完全な言語です。Hello Worldのコードは次のようになります。
みてわかるとおり、記号の羅列にしかみえない。気持ち悪い言語です(*´д`*)気持ち悪い言語大好きな私は興奮しますが、皆さんどうでしょう?
派生Brainfuck!!!!
brain fuckに使う記号は上記の8つである必要はありません。そのため、いろいろな記号、文字に置き換えておもしろい言語がたくさん作られています。その中でも、楽しくて、有名なのは、Nyaruko(GitHub - masarakki/nyaruko_lang: いつもニコニコあなたの隣に這いよる混沌ニャルラトホテプ言語ですっ)でしょうか。こんな感じで、好きな言葉で気持ち悪い言語を作ることができます。
Let's Brainfuck!(0゚・∀・)+ ワクワクテカテカ +
Brainfuckインタープリタを作るのは難しくありません、定義をそのままコードに書き下せばOKです。サンプルコードもたくさん転がっています。が、それもめんどくさいというあなたに朗報です!r-fxxk というrubyのプログラムを拝借すると、一瞬でできてしまいます。
これを使って作成したピカチュウ言語のインタープリタのコードはこんな感じになります。
めっちゃ簡単ですね!これでこのピカチュウ語も解読できます!
で、ここでどうやってピカチュウ語の方を作成するかが問題となってきます。頭のいい人は手打ちでピカチュウ語かけると思いますが、自分にはなかなか厳しい。そうなったときに、ネット上で公開されているbrainfuck変換ツールを使って作成したbrainfuckのコードをピカチュウ語に書きなおしちゃうっていうのが一番楽だと思います。例のブログ記事では、時間がなかったので
このページでtextをbrainfuckに変換し、それをピカチュウ語に置換して作成しました。最終的にたった50行程度しかコードをかかずに記事を作成しました。
GAE! GAE!(*´д`*)
ピカチュウ語を広めたい!という一心で、後日、Go言語でtextをピカチュウ語に変換するプログラムをかいてGAEで公開しました。
結局なんて書いてあったの???
結局、例の記事はなんて書いてあったかというと、
Hello eeic!
Judan nomikai dodeshita?
Seppun shiteikouna^-^
でした。 eeic2016, 2017の方々が強いという噂をきいたので、ただ技術力だけあるオタクにならずに、飲み会で接吻しちゃうぐらいの人間になってほしいなという願いをこめた文章でした。
Future Work
アニメでのピカチュウの発言をみると、基本的に「ピカチュー」という鳴き声は連続することは少ないことがわかります。繰り返しがでてくるのは「ピカ」が多いと思います。にもかかわらず、私が作成したピカチュウ言語では、続けて出てくることが多い inc に"ピカチュー "を割り当ててしまいました。その結果、リアルピカチュウが言ってなさそうなピカチュウ語になってしまいました。とっても悲しいです。今後、アニメのピカチュウの発言を調査して、より、ピカチュウが言ってそうなピカチュウ語を目指したいと思います。
参考動画
(【公式】「ピカチュウのうた」プロモーションビデオ - YouTube )