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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
3/8

0.3 魔法使いになろう

「……ひょっとしてエル、この言語が読めないのか?」


 恐る恐る聞いてみる。


「いえ、エルフ語は少しだけなら読めるわよ。でも『こんにちは、世界』って言うだけの魔法、無意味じゃない?」


 この世界では英語のことをエルフ語と呼ぶのか。……いや、この言語が読めるとか読めないとか、どうでもいい。もっと何か、見落としているような……

 そう、確かに『Hello World!』なんてコンソールに表示させるだけなら、意味は無い。

 最初に学ぶプログラミングなので慣習的に『Hello World!』にしているだけなのであって、別に『Good Morning!』でも『私はエルです』でも、なんでも表示できる。

 System.out.printlnだって、一番手軽に出力できて使用頻度が高いから使っているだけだ。


 そんな、使いやすい単純な出力を、魔法使いが無意味と言うだろうか。


 少し試してみようと、俺は先ほどの魔法を書き換えた。


 public class HelloWorld {


   public static void main(String[] args) {

     System.out.println(18782 + 18782);

   }


 }


 表示させるものを、数値計算の結果に変えただけだ。ちなみにこの数字は特に意味はなくて、元の世界のムダ知識、「嫌な奴 + 嫌な奴 = 皆殺し」という語呂合わせの計算だ。

 魔法を刻み終え、再びハローワールド、と唱えた。すると、予想通り


 [37564]


 と表示された。


 このように、System.out.printlnは()の中身を書き換えれば、文字列だけじゃなく、数値や簡単な計算を入れることもできる。異世界でも同じようで安心した。


「魔石にすぐモノを書けて魔法を使えるんだから、メモ代わりになるし、こんな風に電卓代わりにもなるだろ?」


 そうエルに問いかけた。すると……


「……今、魔法を作った……?」


 そう呟いて、エルは魔石をじっと見つめていた。

 いや、魔法を作った、って、おかしくないか……?


「こんなの、さっきの魔法の応用だよな……?」

「……応用……って……」


 エルは、何かぶつぶつと呟きながら、考え事をはじめた。


 声をかけるのも悪い気がしたので、その間に俺は、魔道書をパラパラとめくった。しかしこの魔道書は、俺が考えていたようなものと違っていた。

 俺はこの初級魔道書を、Java入門書みたいなものだと思っていた。

 しかし、載っていたものは、さっきのファイアボールと同じような、水魔法で決められた量の水を出したり、土魔法で決められたものを作るような、既にできあがっているプログラムと、その説明だけが列挙されていた。コーディング例だけが載っていて、文法やAPIなどの説明は一切無かった。


「ひょっとして、この世界のプログ……じゃない、魔法って、全部書き写して使ってるだけなのか?」

「当たり前じゃない! 魔法の仕組みとか、知っている人なんていないわよ!」


 この世界の魔法は、全てコピペで出来ているようだった……


 ~~~~


 落ち着いたエルから、この世界の魔法の扱いについて、色々学んだ。

 先ほどの俺の予想通り、世の中の魔法は全て、そっくりそのままコピペして使っているらしい。

 全ての魔法は大昔に、神々によって作られたという。石版や古文書に残されているものを実際に使用し、検証してから魔道書に書き写され、それを世の魔法使いが全員コピペして使っている。数十行にわたる大魔法(この世界のプログラムは50行もあれば大規模と呼ばれるらしい)から、さっきの5行の魔法まで、全て。


 別にコピペがダメというわけではない。JavaScriptを学んだことのない人間が、自作のWebページにボタンなどのスクリプトを組み込む際、適当なサイトからコピペしてくることはよくあるだろう。機能をひとつ追加するためだけにイチから学ぶのも、コストが割に合わない。

 ただ……


「魔法研究家って職業はあるけれど、発掘された石版とか古文書とかに書かれている魔法を検証したり、使い方を研究するだけよ。魔法なんてイチから作れたら"魔法創造師"って呼ばれるわ」


 世の中のエキスパートですら、一切プログラミングできないのか……


 ただ、世の中の誰も魔法を作れないのには、理由がある。

 この世界には人類語とエルフ語がある。これらは前の世界の日本語や英語と(一部文字の形は違うが)ほぼ完全に一致しており、俺でもスラスラと読み書きができる。(英語は辞書がなければちゃんと読めないし、簡単なものしか喋れない程度だが)

 しかし、この世界の人間は、エルフ語をappleのような簡単な単語ですら読める人が少ないらしい。外交官やエルフと関わりのある貴族など、ごくごく一部の人間が、エルフ語を多少喋れるくらいだ。エルのように簡単な単語を少し知っている人ですら、珍しいそうだ。

 書かれている言語への理解も低ければ、魔法を書く方法……言語仕様書や入門書も存在しない。のだ。前の世界でも、英語が一切読めなくてプログラミングも未経験の人間が、コーディング例だけを見せられても、触りたくもないだろう。


「……一部の人とか、あと私もだけど、魔法の数値をちょっといじって、魔法の強さを変えるとかはやっているけどね」


 エルはそう言って、魔石をひとつ取り出した。『ファイアボールII』という魔法が刻まれていて、『private static final int USE_MP = 3;』の行の数値が6に変わっていた。きっとMPは、RPGゲームによくある、一般的なMPだろう。


「魔法に込める魔力の量を倍にすると、やっぱり火の玉の威力も比例して上がるんだな」

「え、ええ。私のアレンジした魔法を一瞬で理解できるってことは、やっぱり……」


 エルは、うろたえながら、こう続けた。


「魔法が作れるのは本当なのね……あなた、私の仲間になって、魔法を教えてくれないかしら」


 魔法を教えるのはいいが……


「……仲間?」

「冒険者のパーティーよ。私が冒険者としての技術や知識をあなたに教えて、あなたは魔法の創り方を私に教える」

「……でも俺、装備とか一切無いし、しばらく足手まといになると思うぞ? それに、冒険者としての技術や知識はともかく、この世界の一般常識も怪しいんだが……何から何まで教えてもらうのは、負担が違いすぎないか?」


 そう言うと、エルは何言ってるんだとでもいいたげな表情を浮かべた。


「魔法の仕組みとは情報の価値が違いすぎるわ。面倒、なんでも見てあげる」


 言われてみれば、確かにそうだな。この世界の誰でも知っている知識と、世界で唯一自分だけが知っている知識を交換するだけなら、割に合わない。

 しかし、面倒をなんでも見てもらえる……って言われると、なかなかこう、抵抗があるな。……母親とかヒモとか、そんな単語が頭によぎってしまう。

 いや、そういう意味で言ったんじゃないだろう。頭から変な単語を振り払い、返事をする。


「わかった。これからお世話になるが、よろしくな」

「やった! ……こちらこそ、よろしくね!」


 こうして、俺は異世界でJavaを教えながら、魔法使いの冒険者として生きることになるのだった。

序章のまとめ

・Javaプログラミング環境を整える(JDKのインストール、余裕があればIDEの準備)

・コンソールに好きな文章や数字を表示させるプログラムを作成する


第一章からは、基本的な決まり事や数値計算について、もう少し詳しく説明していきます。

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

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

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

↑ページトップへ