表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
Javaで学ぶ魔法入門  作者: つむらてんほ
幕間
36/64

伝説の飛行魔法

「で、本当にできるのね?」

 ハイノウン城の裏庭、訓練所の広場でメリッサは疑わしそうにジョージを見た。

 たしかにマーロックからは報告を受けているが、この目で見るまでは信じることができなかったのだ。

「ああ。できる」

「それにしても飛行(伝説の)魔法とはねぇ。かつて大魔導師マリアンヌ様が使ったと聞いてるけれど」

「たまに聞くな、そのマリアンヌって名前。どんだけ凄かったんだよ」

「どれだけって、マリアンヌ様、マリーアントワ様とも言われているけれど…………は、今から千年ほど前に活躍した大魔導師様よ。現在の魔法体系の基礎を作られた偉大なお方。あなたもお世話になっているわ」

「俺が?その大魔導師に?身に覚えないんだが」

「あなた、魔法はどうやって覚えたのよ」

「何って、『マリーたんの魔法入門』…………あ」

「ほら。『マリーたん(マリアンヌ)の魔法入門』でしょ」

「あの糞本書いたのがマリアンヌかっ!」

「糞本て罰当たりね…………」

 メリッサはため息をついた。


「まあマリーたんはどうでもいい。とりあえず飛行魔法だろ。体験させてやるよ。いいから捕まってろ」

 ジョージが左手でメリッサの右手を握った。

「java AirHold」

 ジョージが唱えると、メリッサは浮遊感を覚えた。

 ジョージが唱えた魔法は、実は単純なAirElementのEnchantである。

 具体的なコードは

public class AirHold {

  public static void main(String[] args) {

    Stream.generate(()->new AirElement(0))

    .anyMatch(

        element->{

          Magic.me.addElement(element);

          try {

            Thread.sleep(59000);

          } catch (Exception e) {

            return true;

          }

          return false;

        }

    );

  }

}

という、コンソールを閉じるまで59秒ごとに自分に速度0の風属性を付与し続けるだけの魔法である。

 自己付与の場合、魔法の効果時間は60秒のため59秒ごとに付与することで安全を確保している。

 実はThread.sleepによる永続(パーマネント)化さえ無ければ、この呪文自体は落とし穴対策魔法として一部の魔法使いの間では使用されていた。

 永続化しないのは、魔力消費量の問題である。

 AirElement(0)のインスタンス生成コストが10、さらに5kg浮遊させるごとに+1のコストが発生する。

 たとえば総重量50kgの自分を浮かせる場合、10+(50/5)=20MPのコストが1分ごとに必要となるというわけだ。

 ましてやメリッサの体重を4*キロ、ジョージの体重を7*キロとすると、およそ35MP/分が必要となる。

 ジョージのような異常な回復力(1分で約163MP)でもない限り、まともに永続化するのは無理であろう。

 ちなみにこの魔法、本当はレビテートといった名前を付けたかったのだが、綴りに自信がなかったため空気固定(AirHold)という名前になっている。


「これからが本番だ。java Fly」

 ジョージが空いている右手を斜め上に伸ばしながら唱えると、空中に出現した魔法の矢がジョージの指先に向かって飛んでいき…………

「ひゃあ!飛んじゃう!飛んじゃう!」

 メリッサが思わずジョージに抱きついて誤解を招きそうな言葉を叫んだ。

「java Fly java Fly java Fly java Fly」

 ジョージがその言葉を唱えるたびに、魔法の矢がジョージの指先に向かって飛ぶ。

 手を上げて唱えれば上に、下げて唱えれば下に、前に伸ばせば前に、自由自在に空中を飛び回る。

 このコードも

public class Fly {

  public static void main(String[] args) {

    Effect effect=new Missile(1);

    effect.addElement(new MagicElement(1));

    effect.addElement(new HolyElement(1));

    effect.setTarget(Magic.me.getObject("RightHand");

    effect.start();

  }

}

という、マジックミサイルに回復の効果を追加し、”自分”(Magic.me)の右手に飛ばすだけの単純なものである。

 これがどうして飛行になるのか。

 ジョージが初めて使った魔法はカーガ城脱出の際のMagicMissileだ。

 このとき、ほとんどダメージは入っていないが相手は吹き飛んだ、ということを覚えている。

 MagicMissileに治癒(Holy)属性も付与すれば、まったくダメージを与えずに吹き飛ばし効果が得られるのではないか。

 ジョージはそう思って、実際に書いてみたのがFlyであり、それは予想通りの結果が得られた(厳密にはダメージを与えた瞬間に回復しているので、残りHPが1の状態で実行すると、たぶん死ぬ)。

 このFlyの魔法だが、贅沢にもElementを2つ付与しているため、その効果のわりにコストは10MPとアメ車のように燃費の悪い魔法なのだが、ジョージの異常な回復力であればAirHoldを永続化していても問題なく使用できる。


 これは恐らく、マリアンヌの書いた飛行(伝説の)魔法とは異なるものだろうが、飛べることには変わりない、ということでメリッサは納得した。


 ジョージとメリッサは、十数分後に地上に降り立った。

「感想は?」

「凄かった…………」

 これまた誤解を招きそうな言葉を恍惚とした表情で述べるメリッサだったが、魔術士のローブを来た部下が血相を変えて走ってくるのを見て、慌てて顔を引き締めた。

「メリッサ様、大変です!」

「サム、どうしたの慌てて。…………彼なら大丈夫、言いなさい」

 魔術師サムがジョージの方を見て口を噤んだが、メリッサは構わず報告させた。

「はっ、はい!ハイノウン西部の森に!」

「森に魔物でも出たの?それとも…………今年は50年目?まさか!」

 何か思い当たったようだ。

「PG迷宮が転移しました!」

「PG迷宮が転移したのね!」


 なにやらただ事ではないようだ、と他人事のように思うジョージだった。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ