0.1 魔法がJavaのコードのようだった
まだJavaの話は出てきません。(ちらっとコードは出てきます)
次の話から本格的にJavaの話に入っていきます。
目が覚めると、そこは会社の仮眠室でなく、何故か森の中だった。
木々が茂り、地面は雑草だらけで、先ほどまでいた無味乾燥な建物の中とは真逆だ。
さっきまで会社にいたはずなんだが……ここはどこだ?
とりあえず立ち上がり、背中の土を手でほろった。
……あれ? 服が変わっている。
Yシャツにネクタイにスラックスという、ビジネスマンな格好をしていたはずだが、今の俺はシャツに短パンという動きやすい格好になっている。
身体が軽いので、もしかしたら身体も若返ったりしているのかもしれない。
そういえば、かけていたメガネも消えている。が、特に視界がぼやけているわけでもない。遠くの狼だってよく見える。
……って、狼がいる。狼が、こちらに向かって、一直線に走ってきていた。
「や、やばい!」
そう叫び、振り向いて走ろうとした。が、振り向いた瞬間、そこには誰かが立っていた。
その人は、ゲームに出てくるような杖を掲げて……
「ファイアボール!」
そう叫んだ。直後、杖の先から火の玉が飛び出した。火の玉は、真直線に狼へと向かっていって……
「ギャンッ!」
狼に当たると、狼が勢いよく燃えだした。狼はもがき苦しんだ後、その場で倒れた。
あれ……魔法だよな……? 俺はファンタジーの世界にでも迷い込んでしまったのか……?
「あなた、大丈夫……?」
魔法を使った人が、俺に手を差しのべ、話しかけきた。
その人は、よく見ると美人の女性だった。どこかの海外映画に出てくるような、魔法学校の制服みたいな紫色のローブを着ていた。見た目や顔も、高校生くらいに見える。金髪が木漏れ日に照らされて輝いていて、神秘的に見えた。
「……意識、あるのかしら……」
相手の声にハッとした。
「あ、えーと……ありがとうございます……無事です……」
俺は慌てて返事を返し、手を取って立ち上がった。
「私はエル。エルピス・クリューソスよ。あなたは?」
名前が横文字なので、やっぱり外人なのだろう。日本語が通じているが。
「俺は……ハル。ハル・サトウです」
相手の名乗り方にのっとって、自分も名乗った。
「それで、すみませんが、ここはどこでしょうか……」
「ここはマクネリ森よ。知らないでこの森に来たの? 見たところ、荷物も無いし、コースラの人よね……?」
「えーと……コースラ? 分からないです……」
「コースラっていうのは、この森に一番近い街。……それも知らないなんて、あなた、何者? どこから来たの?」
「えーと、俺は……」
自分の近況を整理しながら、事情を話してみた。
俺は佐藤遥。東京のとあるIT企業で、プログラマーとして働いていた。
とあるWebアプリを開発しているときに、同僚の一人が病気で倒れ、俺にシワ寄せが来たため、激務の最中だった。数日間帰る余裕もなく、先ほど仮眠をとろうと仮眠室へ向かい、ベッドに倒れこんで……気が付いたら、この森の中で目が覚めていた。
「トウキョウ……? 知らないところね……」
「……ひょっとして、ここは日本でもアメリカでもないんですか?」
「……ニホン……アメリカ……? 少なくとも違うわ。そんな地名、聞いたことないわね……」
話しながら、なんとなく合点がいった。
先ほどの魔法といい、やはりここはファンタジー世界のようだった。これが夢なのか、俗に言う異世界転移なのか、何かの物語の中に入ってしまったのか、よく分からないが……
「エルさん。どうやら俺は、異世界から来たみたいです。なので、この国……いえ、この世界のことも、さっきの魔法のことも分からないのです」
「…………異世界から来た……? あなたの妄想の話? ムダに敬語を使ってヘンな喋り方してるのも、もしかして、そういうキャラ付け……?」
エルはとても険しい表情をしていた。まあ、俺も駅で知らない人間からいきなり「実は俺は異世界人です」って言われたらそんな表情をするだろう。
「やっぱりなんでもないです。ちょっと頭を打って、記憶がこんがらがっているのかも……」
と慌てて弁解しておいた。
「……ここで立ち話もなんだし、とりあえず、街に行きましょう。そこでもっとゆっくり話を聞かせてくれるかしら」
~~~~
街へ向かい、森の中を歩いている途中のこと。
俺は情報収集も兼ねて、エルと話していた。
ずっと敬語で喋っていたが、さっき「ヘンな喋り方」と言われてしまったのもあって、くだけた喋り方に変えた。この世界には敬語とか無いのだろうかと聞いたら、王族相手にしか使わないのだそうだ。
「そういえば、さっき火の玉を出していたが……あれは、魔法か……?」
「ええ。ファイアボール、っていう魔法よ」
やはり、あれは魔法だった。俺は興奮した。本当にこの世界はファンタジーの世界なんだ!
「この世界には魔法が存在するのか……凄いな! どうやって使うんだ!?」
「ええと……魔力があれば、この魔石を持って、ファイアボールって唱えれば、使えるはずよ……」
「やってみていいか!?」
「え、ええ……この杖を持って、杖に魔力……あなたに魔力、あるのかしら。まあいいわ、念を込めて、そう唱えてみなさい」
エルは引き気味であるが、説明しながら魔石と杖を貸してくれた。魔石はビー玉くらいの大きさで、球の形に荒削りされていて、半透明の青い色をしていた。杖は本当にファンタジーの世界の杖と言う感じで、まっすぐな木の棒の先端にツタで赤い魔石がくくりつけられている。
俺はその魔石と杖を握り締め、念を込めて……
「……ファイアボール!」
そう唱えると、杖の先端の石が輝き、その直後、石の先から火の玉が出てきた。先ほど見た火の玉よりも、少しだけ小さいが、ちゃんと火の玉が出てきた。火の玉は岩へとぶつかり、すぐに消えた。
「……魔法、普通に使えるじゃない。しかも、十分魔力が大きいし……」
人生初の魔法は、上手くいったようだった。
「魔石を持っていれば、短い呪文を唱えるだけで、簡単に魔法ができるのか……」
やっていたゲームや読んでいた本の影響で、魔法にはもっと練習とか長い呪文とかが必要かと思っていた。こんなに手軽だったとは。
「いったい、どういう原理で魔法が……」
そう呟きかけると、エルは目をキラキラ光らせた。
「あなた、ひょっとして魔法の仕組みに興味があるの!?」
「あ、ああ……」
「珍しいわね! 不思議な人だと思ってたけど、素晴らしいわ! 教えてあげる!」
「わ、分かったから、落ち着いて……」
エルは興奮して、俺の手を取ってブンブンと振り回している。さっき俺が、魔法が実在したことを知って興奮していた時よりも、テンションが高いような気がする。
「あ、ええ……すまないわね。魔法はね、この魔石に魔法の元を刻んで作るの。魔石に魔力を込めてみて」
魔石に魔力を込める……さっき魔法を唱えた時みたいに念を込めて、魔石を握ってみた。
すると、目の前に長い文章が現れた。文章は、英語みたいな文字だった。
「これは……?」
「見えた? それが魔石に刻まれた、ファイアボールの魔法の文章よ! この文章を通じて、魔力が魔法になるの!」
これが、ファイアボールの魔法……と言われても、信じられなかった。
目の前にある文章は、こんな感じだった。
import ...
public class FireBall {
private static final int USE_MP = 3;
public static void main(String[] args) {
Target self = new Target(Mana.Self);
Fire fire = new Fire(Mana.getMagicForce(self, USE_MP));
Magic m = new Molder(Molder.SMALL_ROUND).mold(fire);
m.releaseForward(self);
}
}
「……プログラムのコードじゃないか……」
思わずそう呟いてしまった。