LoginSignup
8
1

More than 3 years have passed since last update.

超次元プログラミング言語Befungeで縦横無尽にズンドコキヨシを書いた

Last updated at Posted at 2019-07-12

概要

Befungeのご機嫌なオンラインプレイグラウンドを見つけたので、ズンドコキヨシを書いた。(3年前)

参考: ズンドコキヨシまとめ

ズンドコキヨシとは


Befunge

Befungeは1993年登場の難解言語の一種であり、プログラムのコードの読み取り方向を前後左右に自由に切り替えられる。Befunge 93の仕様では、 コードサイズに80桁25行という制限がある。あとあと、その制限が取っ払われた仕様が出て、あれよあれよと現在の最新仕様はBefunge 98らしい。二次元よりも高次元なプログラムがしたければ、Befunge 98のインタープリターを作るとよかろう。

ただし、私は思考の次元が低すぎてそんな3次元や4次元プログラム書けません。超次元の思索のためにもっと瞳が必要な。今回の例ではBefunge 93からBefunge 97の間の仕様で、ズンドコキヨシを書く。

Grant us eyes,grant us eyes.

Befungeってどんな言語?と知りたければ、以下の2ページが参考になる。

あるいは、aminylarginyl氏によるこちらの動画大変参考になる。

Qiitaは直にYouTube埋め込めんの?

どうやって実行すればいいの?

大変よくできたオンラインプレイグラウンドがあり、Befungeの実行や、ステップバイステップの実行ができる。

スクリーンショット 2019-07-12 13.56.39.png

ここのインタープリターは、Befunge 93からBefunge 97の間の仕様であり、以下の機能と制限がある。

  • The program space is the Befunge 93 80×25 torus. There's no Lahey space at the moment.
  • Only a single PC (thread) is supported.
  • Befunge 97 literals are supported: 0–9 and a–f.
  • Character quoting (').
  • No flying PCs.
  • No handprints or fingerprints.
  • Just a single stack.

ズンドコキヨシ

1つめ:すごく単純なズンドコキヨシ

「ズン→ズン→ズン→ズン→ドコ」と出力してから「キヨシ」を出力すれば良い。つまり、道を違えれば、1からやり直しにすれば良い。

Befungeではループをしたければ、閉路のコードを書けばいいのだ。

>|<<<<<<<<<<<<
>?>"こど",,52*,^
>v^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>"んず",,52*,_?>"んず",,52*,_?"んず",,52*,_?>"んず",,52*,_?>"こど",,52*,"!シ・ヨ・キ">:#,_@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

52*,は、5かける210を得て、10を文字として出力する。つまり改行を出すためのコード。

実行結果

日本語は等幅ではなく、そのまま実行した場合矢印の向きが変に見えるので、例の中では「ズンドコ」を「zndk」と表している。

captured-2.gif

2つめ:頑張ったズンドコキヨシ

47文字でズンドコ!

0v#"キ・ヨ・シ!"<@,,,,,,$
>?>"んず",,1+
^>"こど",,3`#^_0

captured (1)-2.gif

まとめ

  • Befungeは上位者の言語
8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1