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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
転生ドラゴンの魔法使い~魔法はガチでプログラムだった~  作者: 喰寝丸太
Ver.1 魔法無双編 第1章 森のドラゴン

この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

5/164

第5話 意思疎通の糸口

 山は寒いが何となく頭が冴え渡る様な気もする。

 虫の声などが聞こえないのも良い。

 耳に入るのは風だけだ。

 もの凄く集中できる。

 仙人になった気分だ。


 俺は誘導弾を解析に入る。

 まずはループを外す。

 出来たイメージがこれだ。


void main(int argc,char *argv[])

{

 ■■■■■■;

 MAGIC *mp;

 mp=fire_ball_make(1000);

 ■■■■■■;

 ■■■■■■;

}




 呪文にしてみる。

 『ヒラニシ・モチニミゆニミカ・チスキソネソクチス・けチスキヒガムよ・が・

ソクチス・ラスコニカガヌワムレ・

モチキニソ・けモセレ・ 

モセほハニスイろコチリリろモチノイゆヌワワワよレ・

モチキニソろシニスイソカゆモセネラスコニカネトニツイラハゆラスコニカよネチスキヒガヌムよレ・

モチキニソろモラヒイゆモセネラスコニカネトニツイラハゆラスコニカよよレ・む』とこんな感じだ。


 ここでコンパイルして実行してみる。

 呪文をコンパイルする。

 実行名は『トクラカ』だ。

 『撃つ』と考えた時にこの言葉が浮かんだ。

 意味のある言葉だとうっかり念じてしまうかもしれない。

 この言葉をありがたく使おう。


 『トクラカ』と念じる時に目標も一緒に念じる。

 火の玉が発射された。

 そして、10センチ動いた所で消えた。

 やった初めての魔法だ。

 俺にも魔法が使えたぞ、ひゃっほい。

 俺はかなり魔力があるらしい。

 魔法を使うことで魔力が知覚できた。


 だが、射程が短い。

 ループを取り払ったからだろう。

 『モチキニソろモラヒイゆモセネラスコニカネトニツイラハゆラスコニカよよレ』の文言を外してみる。

 実行すると火の玉は出来たが、飛ばない。

 つまりさっきの部分は火の玉の移動なのだろう。

 移動の部分を元に戻しその前の部分を取り払った。

 すると火の玉が不規則に飛んだ。

 射程が10センチで良かった。

 ループしてたら自爆するところだったよ。

 そうだ、さっきの一文は飛行データを設定しているわけだ。

 これでイメージが固まった。




 解析できたオリジナルの誘導弾のイメージがこれだ。


void main(int argc,char *argv[])

{

 char orbit[10]; /*軌道データ10センチ分だと思う*/

 int i; /*カウンター*/

 MAGIC *mp; /*魔法の定義*/

 mp=fire_ball_make(1000); /*火の玉生成*/

 for(i=0;i<1000;i++){ /*千回繰り返し*/

  magic_direct(mp,orbit,sizeof(orbit),argv[1]); /*目標に向かう軌道データ生成*/

  magic_move(mp,orbit,sizeof(orbit)); /*軌道データ通りに動かす*/

 }

}


 ざっくり説明するとファイヤーボールを作り、軌道データを入れ、ファイヤーボールを動かす。

 動かし終わったら軌道データを入力する所から1000回繰り返しだ。

 プログラマーにとっては簡単な呪文だが、素人には厳しいのだろうな。

 異世界人がコンパイルをしてない事からヘルプのコマンドは知られていないのだろう。

 呪文の単語の意味も失われているかもしれない。

 プログラムの概念なんかもないのだろうな。

 後で異世界人に聞いてみたい。




 よし、今度は改造だ。

 射程を延ばすのは簡単だ繰り返しの命令にある『i<1000』の所の数値を増やせば良い。

 ファイヤーボールの威力を上げるのは『mp=fire_ball_make(1000)』の1000を3000だの4000だのにすれば良い。


 試行錯誤して数字を物にする。

 『ワヌフアウエオヤユヨ』が0から9だ。

 これで研究も進むな。


 威力を十倍に増やして魔法を放つ。

 雪にファイヤーボールが当たりもくもくと水蒸気を上げる。

 魔力をオリジナルの十倍ほど喰われた。

 でもまだまだ余裕だ。

 2重ループにして誘導弾を十回放つ。

 山頂の雪が溶けまくり岩肌を覗かせる。

 普通に魔力十倍だな。




 お次はっと。

 もう一つの『ヒラニシ・モチニミゆヒラニシよ・が・

カイリ・けカセレ・

カセほカラセイミゆふキナニリシモチトカイスふよレ・

カセスニミカハゆカセネふ「ザンダリルだ。終わった。今から帰還する」ふよレ・

カソリラトイゆカセよレ・む』の解析に入る。

 これは会話文が入っている所から念話の魔法だと思われる。

 これが解析できれば人と会話できる。


 『カセスニミカハゆカセネふ「ザンダリルだ。終わった。今から帰還する」ふよレ』を抜き出してコンパイルしてみる。

 当然エラーだ。

 なんとなく『セスニミカハ』に付いている『カ』の一文字取ってみるエラーだけどエラーが指し示している所が変わった。

 『カセネ』の所をエラーが指し示している。

 これも取っちゃえ。

 『セスニミカハゆふ「ザンダリルだ。終わった。今から帰還する」ふよレ』としたらコンパイルが通った。

 おっ、やったぞ呪文を開発できた。

 イメージを表すと。


void main(void)

{

 printf("ザンダリルだ。終わった。今から帰還する"); /*文字表示*/

}


 こんなところだろう。

 実行してみる。


 『ザンダリルだ。終わった。今から帰還する』の文字が空中に浮かぶ。

 やった成功だ。

 これだと決まった会話しか出来ないのでさらに改良する。

 イメージでは。


void main(int argc,char *argv[])

{

 printf(argv[1]); /*『argv[1]』で外部からの入力が表示されるはず*/

}


 意味は外部から伝えたい言葉を入力し表示する。

 こうなれば良いのだけれど。

 また一文字ずつ当てはめる試行錯誤だな。

 だけど、確実に前進している。

 後少しだ。


 冒頭部分は誘導弾の物が流用できる。

 後は引数をなんとかすれば良い。

 これもヒントは誘導弾にある。




 奮闘の結果なんとか物にする事が出来た。


 呪文は『ヒラニシ・モチニミゆニミカ・チスキソネソクチス・けチスキヒガムよ・が・

セスニミカハゆチスキヒガヌムよレ・む』だ。


 実行名は『カチリノ』だ。

 『会話』という言葉を考えた時にこの言葉が出てきた。


 結果は念じていた文字が空中に浮かんだ。

 異世界人が腰を抜かさないと良いが。


 呪文の秘密もある程度が解けたし異世界人とコンタクトを取るために山を降りようと思う。

 その前に名前を決めないと。

 何が良いかな。

 思いついた『ウィザード』を名乗ろう。

 前世ではそんなに凄いプログラマーではなかったけれど凄いプログラマーの代名詞のこれを名前にしたい。


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

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

↑ページトップへ