0歳8ヵ月 2
今回は、ちょっと難解な説明があります。
理解していなくても何の問題もないので、さらっと気楽に読んでいただけると幸いです。
※携帯やスマホの機種によっては、呪文の一部が表示されないことがあるようです。
いずれ余裕がある時に文字の置換を行う可能性はありますが、それまではPCで読むか、なんとなーくで読んでいただけると幸いです。
私の呟きに、お兄ちゃんとお母さんは揃って「えっ!?」と驚きの声をあげました。
しかしそれに反応している余裕はありません。
私は解読に集中するために両手で顔で覆い、思考の海に飛び込みました。
私は前世で、この呪文に良く似たものを見てきました。
いいえ、私自身もたくさん書いて生み出してきました。
プログラミング言語、というものをご存知でしょうか?
機械が理解できるような『命令文』を書くための言語です。
プログラミング言語で書かれた命令文は、「コンパイル」という過程を経て機械語に変換されます。
機械語と聞くと「なんじゃそりゃ」という感じですが、ざっくり言ってしまえば、よくSF映画とかで黒い画面に緑の文字で「010111001」とか表示されているアレのことです。
人間がアレを書けと言われたら死んでしまいます。
かと言って、文の書き方や使用する単語、言い回しなどは人によってまちまちで、そのすべてを機械語に変換することはできません。
ですから機械語に変換しやすい文法ルールを整えた言語が必要になるわけです。
それを、プログラミング言語と呼びます。
例えば、入力された整数を足し合わせて、その答えを返すというプログラムの場合。
最も基本的なプログラミング言語とも言われる『C言語』で書くと、こうなります。
int Addition(int value1, int value2)
{
int sum;
sum = value1 + value2;
return sum;
}
実際には、大雑把に言って三つの過程が必要です。
「足し合わせたい数値1と数値2を入力して次のプログラムへ渡す」
「受け取った数値1と数値2の合計値を算出して次のプログラムへ渡す」
「受け取った合計値を表示する」
上にあるプログラムは二番目の過程である「受け取った数値1と数値2の合計値を算出して次のプログラムへ渡す」です。このプログラムだけでは全く機能してくれません。
この命令文を日本語に翻訳するなら、こうなります。
整数値を返却する機能を作成し「Addition(足し算)」と命名せよ
(受け取った二つの整数値は「値1」と「値2」へと格納せよ)
{
整数値を格納する領域を生成し「合計」と命名する。
「合計」に「値1」と「値2」の合計値を代入せよ。
「合計」を返却せよ。
}
さて、ここでもう一度、先ほどの呪文を見てみます。
ฎธๅ ฬฎธค_ญใฉม€โ ╞ ข๏ฎค ╡
╠
ใฉธค ฎธๅ ฬฎธคƂ
ฬฎธค ฿ ฬฎธค - σ₀₀₀Ƃ
โ€ๅษโธ ฬฎธคƂ
╢
私が絶句してしまった理由が、お分かりいただけるかと思います。
偶然か、はたまた必然か。
世界中の「刀」を見比べてみても、そのすべてが似たような形であるように……「命令文」も、突き詰めると全部似たような形に収まるのでしょうか?
……いえ、今はそんなこと良いですね。
それよりも今は、呪文の解読です。
まず一行目の「ฬฎธค_ญใฉม€โ」は、ほぼ間違いなくこの魔法の名前です。
足し算プログラムで言うところの「Addition」と同じで、起動するためには名前が必要なのでしょう。
そうなると、その前の「ฎธๅ」は、この呪文で支配する対象の操作方式を選択しているのでしょう。
この呪文は最も基本的な呪文であるはずなので、おそらく「整数値」なのではないでしょうか。
そして次の「╞ ข๏ฎค ╡」は、この呪文で支配する対象にどんな名前を付けるかを指定する場所のはず。
ただし文がやけに短いため、この呪文では「外部からは何も受け取らない」という指定であると思われます。
続いての「ใฉธค ฎธๅ ฬฎธคƂ」ですが、この一番最後についている「Ƃ」というのは句読点で間違いありません。「この命令を実行せよ」みたいな意味になります。
さらに「ฬฎธค」の部分ですが、これは呪文の名前である「ฬฎธค_ญใฉม€โ」の前半部分と同じ単語です。
つまりこの呪文の名前が「風_攻撃」とかだった場合、「風」という意味になります。
すなわち「ใฉธค ฎธๅ」の部分は、どのような方法で「風」を扱うかという指定のはず。
もっと言えば、この呪文では「何も受け取らない」という指定をしていると思われるので、それなら命令を与える対象をここで指定しているはず。じゃないと、何を対象に処理をしたらいいかが宙ぶらりんになってしまいます。
具体的には、この後の命令文を適用する「風」を指定しているのでしょう。
風を指定して、それに「ฬฎธค」という名前を付けているのです。
その下の行である「ฬฎธค ฿ ฬฎธค - σ₀₀₀Ƃ」には「ฬฎธค」が二回出てきます。
上の行で指定した風に対して、どんな命令を下すのかを記述していると思われます。
書き方からして、風に何かの数値を代入しているようです。
これは勘ですが、おそらくは「風速に200を加算する」みたいな書き方をしているのではないでしょうか。
「- σ₀₀₀」と書かれているのを見るに、まるで引き算しているようにも見えますが……地球の記号と同じとは限りませんし、そこは先入観を捨てるべきでしょう。
そして最後に、「โ€ๅษโธ ฬฎธคƂ」。
これはほぼ間違いなく、計算した後の「風」を返却せよ、という命令でしょう。
総括すると、この呪文を簡単に日本語訳したらこうなるはずです。
「ฬฎธค_ญใฉม€โ」という名の魔法を生成せよ
╞ 何も受け取らない ╡
╠
対象を指定し「ฬฎธค」と命名せよ。
「ฬฎธค」に数値を加算せよ。
計算後の「ฬฎธค」を返却せよ。
╢
問題なのは、この呪文を発動するためには、最低でも呪文の名前である「ฬฎธค_ญใฉม€โ」を唱えなければならないはず、ということです。
実際のプログラムでも、起動させて効果を発動させるには、命名しておいた名前を書き込まなければなりません。
……いや、待てよ。命名は概ね自由なはずだから、名前は自分で決めてもいいんじゃないでしょうか?
私はダメ元で、干からびた皮に「風魔法」と漢字で書くと、「ฬฎธค_ญใฉม€โ」の部分と入れ替えます。
そして試しに、呪文を眺めながら口に出してみました。
「風魔法」
…………。
しかし、なにもおこらなかった!
お兄ちゃんとお母さんの左右からの視線が痛いので、諦めようかとも思いましたが……も、もうちょっとだけ頑張ってみることにします。
魔法が発動しなかった理由を考えてみましょう。
1、呪文はすべて詠唱しなければならない。
2、そもそも魔力が足りてないので発動できない。
3、魔法を扱うには特別なアイテムや儀式が必要。
4、地球人の体質では魔法が使えない。
5、いくら呪文名の部分とはいえ日本語を混ぜてはいけない。
6、根本的に呪文の解釈が違う。
もしこれらの理由だった場合、完全に詰んでます。
私はなるべくこれらの可能性を考えないようにして、改善可能な可能性を考えてみました。
まず「╞ ข๏ฎค ╡」は「何も受け取らない」という意味じゃないとか?
いいえ、もしそうなら、すぐ下の行で命名しているみたいに、もっと長い文章になるはず。少なくとも一語で終わるとは思えません。
あるいは「ใฉธค ฎธๅ ฬฎธคƂ」と「ฬฎธค ฿ ฬฎธค - σ₀₀₀Ƃ」の二文は、もっと具体的に理解しなければならないのかもしれません。
そもそも、どんな計算をしたら風を起こせるのでしょうか?
絵を見る限り、手のひらから風が出ているように見えます。
いえ、手のひらに触れている空気の風速を増やしているとか……うーん、そんな感じの絵にはちょっと見えません。
あっ、空気の量自体を増やしているのかも! そうすれば空気圧差で風が起こりますし。
そうなると「ใฉธค ฎธๅ ฬฎธคƂ」は「触れているものに「風」と命名せよ」でしょうか。
そして「ฬฎธค ฿ ฬฎธค - σ₀₀₀Ƃ」は「空気量を増加せよ」という感じですかね。
「あっ……」
私はふと思い立って、魔導書のページをパラパラをめくります。
すると最後の方のページに、私の求めていた記述がありました。
₀ Î ╕ ó ¢σ ¿ ץ ¤ ç
よし、数はピッタリ“十文字”!
それぞれ一文字ずつ対応させるかのように、その隣にはこの世界の文字が“十文字”書かれています。
どっちも読めませんが、しかし「₀」と「σ」は呪文に書かれているものと同じなので、こっちが呪文用の文字でしょう。
これは恐らく、0~9までの「数字」を表す文字です。この世界も十進法なんですね。
「0,1,2,3,4,5,6,7,8,9」という順番なのか「1,2,3,4,5,6,7,8,9,0」という順番なのかはわかりません。
しかし前者なら「σ₀₀₀」は「5000」で、後者なら「6111」と読むことになります。普通に考えて「6111」を計算に使うとは思えませんので、「5000」で良いでしょう。
となると、「空気量に5000を加算/乗算せよ」となるはず。
……単位はわかりませんが、手のひらの上で空気量がいきなり五〇〇〇倍になったら、私は大丈夫なのでしょうか?
……わざわざ魔導書に書かれているんですから、安全であると信じたいです。
命名を行うワードである「ฎธๅ」は、「整数」を扱っているということで間違いないようです。
よし、認識を修正。より具体的に命令します。
ฎธๅ 風魔法 ╞ ข๏ฎค ╡
╠
ใฉธค ฎธๅ ฬฎธคƂ
ฬฎธค ฿ ฬฎธค - σ₀₀₀Ƃ
โ€ๅษโธ ฬฎธคƂ
╢
|整数値を支配する魔法を生成し「風魔法」と命名せよ
╞ 何も受け取らない ╡
╠
我が手に触れし対象へ、整数値と「ฬฎธค」という名を与えよ。
「ฬฎธค」の物質量へ5000を加算し、加算後の値を「ฬฎธค」へと代入せよ。
計算後の「ฬฎธค」を返却せよ。
╢
「―――『風魔法』」
私が魔法名を唱えた、その瞬間。
私がかざした右の手のひらを中心として、強烈な風が巻き起こりました。
「ひゃんっ!?」
「うわっ!」
「きゃあ!」
突風を間近で受けた私とお兄ちゃん、お母さんの三人は、踏ん張る間もなくひっくり返ってしまいます。
特に体重の軽い私とお兄ちゃんなんかは、ゴロゴロと何度も回転しながら後ろに転がっていって、壁に後頭部をぶつけてしまいました。
しかし、誰も痛みを訴えるようなことはありません。
それどころじゃないからです。
私は口をパクパクさせながら自分の右手を見て、それからお兄ちゃんとお母さんに目を向けました。
二人も同じように口をパクパクさせながら絶句して、互いに顔を見合わせています。
巻き起こった突風によって散らかってしまった家の中で、掠れた私の声だけが、空虚に響きわたります。
「は……はつどう、しちゃった……」
この日、私は『魔術師』になってしまったのです。




