Home

Awesome

ExchangeIF

one of Esolang using EXIF Data. It works on hakatashi/esolang-box.

How to Use

prepare pictures, and zip these pictures. and

ExchangeIF [zipfile]

to execute.

Documentation

取り敢えず日本語で書いておく。

ルールその1<br> プログラムは作成日時の早い順に実行されていきます。同時刻のファイルがある際の動作はランダムです。

ルールその2<br> 変数はGPS座標で識別します。1次元配列です。latitude, longitudeで識別します。各変数には数値が1つだけ入ります。latitudeは入力、longitudeは出力で用います。例えば、

lat=32 <= lng=40

で32番データに40番データを代入する、みたいな。

ルールその3<br> 1コマンドは1つの画像からなり、コマンド及びその文法については以下のようになっています。

ISOコマンド条件影響先影響元
代入ISOが0~99GPS(lat)画像サイズ(縦×横がそのまま入る)
入力ISOが100~199GPS(lat)無し(標準入力から1文字文字コードとして受け取ります)
出力ISOが200~299無し(標準出力へ文字コード1文字)GPS(lng)
加算ISOが300~399GPS(lat)GPS(lng)
減算ISOが400~499GPS(lat)GPS(lng)
乗算ISOが500~599GPS(lat)GPS(lng)
除算ISOが600~699GPS(lat)GPS(lng)
剰余ISOが700~799GPS(lat)GPS(lng)

ルールその4<br> タイムトラベルが可能です。条件は

画像加工上の最終変更日時と画像撮影日時が異なるとき、かつGPSのlatitudeが示す値(ルール5の影響を受ける)の値が非負のとき

に、現在時刻を画像加工上の最終変更日時に変更します。(これが発動するタイミングでは現在時刻は画像撮影日時のはずです)

ただし、タイムトラベルの代償として「移動した時間の1/150の時間」を無為に消費します。時間切れに気を付けましょう。 ISOコマンドとタイムトラベルの優先順位はタイムトラベルが上です。

ルールその5<br> ルール2でも述べたとおり、GPS座標はlat、lng共通です。Metering Modeを2進数として見たとき、下2桁について、

感想

実質bfなので面白みはありません。変則ショートコーティングに挑んでください。

Samples

全部代入と出力からなります。

入力→出力→タイムトラベルのループ。