第90話 昔取った杵柄
!注意!
本文中にプログラム文っぽいものが出てきますが、作者は素人です。あくまでなんちゃって文として、生暖かい目で遠くから見守ってあげて下さい。
**********
私の研究室に戻って、石版を包んだ布を取り去る。
元からあった石版も取り出して並べた。
2つの石版は割れた部分がぴたりと合う。間違いなく同一のものだ。
元からあった石版が中央部分、新しい方は左側と推測できた。2つ合わせて全体の6割強といったところか。
こうして見ると、今回シリウスが持ち帰った石版のほうが一回り大きい。それだけ情報が詰まっているということだ。
「シリウスの見立てはどう?」
私は聞いてみた。彼がこれを発見してからここに来るまで、何ヶ月か経っている。旅をしながらの時間とはいえ、それなりに目星をつけているだろう。
「これはつまり、箱だと思う」
シリウスは慎重な様子で言った。
「この石版に書かれている内容全てが一つの魔法を表していて、石版そのものは魔法を入れておく箱ではないかと僕は考えている」
彼は新しい方の石版の縁を指さした。
「根拠の一つが、この外側の部分だ。石版の魔法文字列全体を取り囲むように、飾り枠がついているだろう。残りの部分も囲んでいると推測するのが妥当だ。
そしてただのデザイン上のものとは思えない。これは名実ともに境界線なのだと思う。魔法の始まりと終わりを区別する、境界線だ。声に出して唱える魔法の最初の部分と最後の部分に相当すると言えばいいか」
発声式の魔法、呪文は『水の精霊』など、発動したい魔法のざっくりした方向性の宣言から始まる。そして『~し給え』といった命令形で終わる。
呪文の途中に数量や威力の条件を織り込んでも、最初と最後は変わらない。
「次に記述内容だが。装飾が多いが、通常の魔法文字として読めるものだ。ただ、文法はいささか奇妙だな。不要と思われる文字や文がところどころにある」
シリウスが示した部分を読んでみる。
途中から割れて途切れてしまっているが、そこそこ読めた。
『開始、魔力路・名・底より魔力・型・夢花を入力。路・底に接続。若・成功、光らせる、10秒、話印。失敗、再試行、2回。終了』
「いちいち『名』だの『型』だのを繰り返しているだろう。それも何かにつけてだ。おそらくこれが記述式呪文を読み解く鍵なんだろうな」
私は元からある石版を見る。記述式呪文の手がかりとなった、『話』を取り囲む『実行』の飾り文字。
シリウスは言葉を続けていたが、なんだか遠くから聞こえてくるように曖昧になっている。
それだけ私の意識は目の前の石版に集中していた。
これ、もしかして。
もしかして、電話なのでは……?
魔力を接続して『話す』を実行。
そして話すの文字のすぐそばに書かれている、『遠方の友と話す』の一文。つまり、そういうことでは。
なんだこれは。電話などという近代の発明品が、なぜ古代レベルのこの世界に、しかも今よりさらに古い時代の遺品としてあるんだ。
過去の魔法が栄えていた(?)時代は、今よりもっと文明が進んでいた……?
それに、この独特の文法。元からの石版だけでは断片的すぎて気づかなかった。
この書き方、それに記号で囲って一つの構文――シリウスの言い方なら箱――と見なすやり方。
それはもう思いっきり、ばっちり、プログラミング的なんですけど!?
「おい、ゼニス。おい! 聞いてるのか」
名前を呼ばれて我に返った。
「ちゃんと聞いてるよ。思い当たることがあって、考えてたの」
「ほう? 言ってみろ」
電話の予想を話すべきか迷う。なぜそんな発想が出てきたか聞かれても、「前世でそういう機械があったので」とは言えないからなあ。
プログラミングだってそうだ。この世界にはない考え方だもの。
けれどシリウス相手に出し惜しみはしたくない。発想の元を聞かれたらごまかすか、もしくは、正直に言ってみてもいいかもしれない。こいつ、私の話を素直に聞いてくれるから。
ええい、悩んでいても進まんわ!
私は電話の件を説明した。
「遠方の相手と会話する魔法? そんなことがあり得るのか?」
案の定、彼は戸惑っている。
「石版の内容を読んだ限り、可能性はあるかなって。魔力路というのが、何らかの形で遠距離を繋ぐ魔法的なラインであれば、不可能ではないと思うよ」
「むむむむ」
シリウスは歯ぎしりする勢いで唸り始めた。ばりばり髪をかきむしる。
「僕は今まで、魔法というのは発動したその場で何らかの事象を起こすものだと考えていた。しかしそれは誤りだったのか? 魔力路で遠距離同士を繋ぐだと? それならば……」
おっと、これは一人の世界に入って考え込むパターンだな。彼がこうなると外から何か言うだけ無駄である。聞いちゃいないから。
発想の出どころを問われなかったのは、安心するやら拍子抜けするやらだった。
シリウスが自分の世界から戻って来ないので、私はもう一度石版を見た。
ここに記されている内容だけでも、それなりのヒントが含まれている。
入力、接続、成功と失敗の判定、ついでにリトライ。さらに実行時間。
Javaで書けばこんな感じになるかなぁ。
public class Client
public static void main(String[] args)
try (Socket socket = new Socket("localhost", hoge);
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true)
System.out.print("IN");
String input = reader.readLine();
writer.println(input);
if (input.equals("exit"))
break;
これは例としてソケット通信だけど、考え方としては本当に似ていると思う。
変数宣言や条件分岐、繰り返しなんかの書き方は『名』や『型』、それに文字自体に施されている装飾を使うんだろう。枠線もその一種のように見える。
あとは見た目の印象だけど、オブジェクト型のような気がする。インスタンスをnewするタイプの。
これらの情報だけでいきなり電話を作るのは無理だろうが、もっと単純な形から記述法を確定させていくのは可能ではないか。
今までの『実行』のみの書き方よりも、色んな条件あるいは制限を実装できる、はず。
効果が分かっている既存の発声呪文の再現から始めてもいい。
魔道具みたいな長持ちする魔法の効果を持つアイテムを開発してもいい。
白魔粘土の魔力に敏感に反応する性質と組み合わせて、もっといろいろなことはできないか。
アイディアが次々に浮かんで流れてくる。
突然開けた広くて大きな可能性の海に、溺れてしまいそうだ。何から手を付けるべきか迷う! 迷う迷う、迷って……たのしい!
よーし、みなぎってきたぞ!!
「うふ……うふふふ、たーのーしーみ~」
思わす脳内を声に漏らしたら、ティトがぎょっとしたようにのけぞった。
いつもなら我に返って居住まいを正すけど、今日ばかりは許して欲しい。
「うひひ……ほら、シリウス! いつまでマイワールドで遊んでるの。さっさと戻ってきて手伝ってよ! うふふふふっ」
ぶつぶつ独り言を続けているシリウスに、フヒフヒ笑っている私。はたから見ればカオスだろう。しかしそれでいいのだ!
ティトには手間をかけるが、この馬鹿二人が徹夜続きでぶっ倒れないよう体調管理をお願いしよう。
さあさあ、や☆る☆ぞ!
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます