第18話 ミニア強化月間

「魔力はね。魔獣を倒すと沢山上がるわ」


 リタリーが新築の家で熱弁を振るった。

 昨日に引き続き遊びに来たため、魔法について講義をしてもらう事にした。


「魔獣の定義は?」

「ブレスを吐く生き物は大体そうだけど、厳密には体内に魔石を持つ者がそうね」


 だとすれば俺はブレスを吐く奴を沢山食らってきたけど、そのため魔力が多いのかな。

 よし、これからミニア強化月間だ。


「一狩りいくぞ」

「分かった」


 俺の一言にミニアが承諾した。


「ミニアちゃん寂しい所に住んでいるからって、魔法と会話しなくっても」

「余計な。お世話」

「とにかく、私も同行するわ。ドラゴンの行動に興味があるの」


 リタリーとミニアを背中に乗せて、森のふちを飛ぶ。

 眼下に人型のものが動いていのが見える。

 居たぞゴブリンだ。

 リタリーによれば最弱の魔獣らしい。

 ブレスは吐かないけどな。

 ちなみに滅茶苦茶不味い。

 ドラゴンが吐き出す不味さだ。


 ゴブリン達の目前に俺達は舞い降りる。

 ミニアはナイフ片手に俺が着陸する前に飛び降りゴブリンの間を駆け抜けた。

 ゴブリンが次々に緑の血を噴出して倒れる。

 ミニア強いな。

 ゴブリンでは相手にならないか。


「最大魔力のチェック方法は?」


 ミニアが帰ってきたので、俺は魔法を使いリタリーに問い掛けた。


「チェックする魔法があるわ」


 紙にさらさらと呪文を書くリタリー。

 俺は辛抱たまらなくなって、ミニアが受け取る前に紙を覗いた。


「まただわ。このドラゴンは魔法の呪文に興味があるのね。驚きだわ」


 呪文にはこう書いてあった。


 『ニミカ・モチニミゆヒラニシよ・が・

カイリ・けカセレ・

ニミカ・モチミチレ・

カセほカラセイミゆふ魂名に書き換えふよレ・

モチミチほゆニミカよモチミチろモチサろソクイソノゆカセよレ・

カソリラトイゆカセよレ・

スイカナスミゆモチミチよレ・む』とある。


 解析してみた。


int main(void)

{

 TEL *tp; /*魂の定義*/

 int mana; /*魔力の量*/

 tp=topen("魂名に書き換え"); /*魂を開く*/

 mana=(int)mana_max_check(tp); /*manaに最大魔力の数値を入れる*/

 tclose(tp); /*閉じる*/

 return(mana); /*数値を出力*/

}


 とこうなった。




 ミニアが俺の影でコンパイル作業を行う。

 俺もコンパイルしてみた。

 実行すると結果は10だ。

 そんな馬鹿な。

 よりによって俺の魔力が10って事はないな。

 データの欠損が起こっているのだろう。

 型が違うデータを扱うとこういう事が起こる。

 詳しく言うとデータの有効範囲が違うのだ。

 桁数が宣言や定義によって限定されている。

 だから、八桁のものを無理に四桁にしようとすれば頭の四桁は消えてなくなる。

 具体的には10001という五桁で宣言されたデータを四桁で宣言された物に無理やり変換しようとすると頭の桁が消えて1になる。

 魔法にも同様な事が起きるのだな。

 これを解決するヒントは上級合言葉魔法にある。


 上級合言葉魔法のイメージはこうだ。


char main(int argc,char *argv[]) { /*入出力付き冒頭*/

 long i; /*『i』を『long』として定義*/

 i=atol(argv[1]); /*入力を数字に変換*/

 if(i==455834) return('y'); /*比較を一致の場合、結果を返す*/

 return('n'); /*結果を返す*/

} /*終わり*/


 この魔法の肝は『long』だ。

 これが大きい数値を扱う場合に必要になるらしい。

 それを使った魔力チェックがこれだ。


long main(void)

{

 TEL *tp; /*魂と伝言魔法の定義*/

 long mana;

 tp=topen("魂名に書き換え"); /*魂を開く*/

 mana=mana_max_check(tp); /*manaに最大魔力の数値を入れる*/

 tclose(tp); /*閉じる*/

 return(mana); /*数値を出力*/

}


 このイメージの呪文を作りコンパイルしておいた。

 その結果、524298の値が脳内にイメージされた。

 俺の魔力は切り上げて53万だ。

 普通に魔力チートだな。




「ミニアは魔力いくつだ」

「んっ、134」

「これから頑張って鍛えような」

「うん」


「ミニアちゃん、影でこそこそ何をやっているのかな」

「ライト。魔道具」


 俺が試しに作って持たせていた魔道具をミニアが見せる。

 魔道具を作動させると灯りが三秒間灯る。


「魔道具作っていたの」

「うん」

「森では油断しないようにね」

「分かってる」




 次の獲物であるフォレストウルフの群をミニアは狩っていた。


「ミニアちゃん、危ない」


 ミニアにリタリーから緊迫した声が飛ぶ。


「んっ」


 ミニアからコンパイルされたファイヤーボールが発射された。


「うそっ、嘘だわ。ファイヤーボールの魔力コストは35。魔道具にできないはず」


 ファイヤーボールの助けもありミニアはフォレストウルフ全て片付けた。


「喋ってもらうわよ。ミニアちゃん、あれは何」

「無詠唱」


 コンパイルした魔法に詠唱は要らない。

 なので、見られたら無詠唱という事にしようと二人で決めておいた。


「天才じゃない。どうやって発見したの」

「ドラゴン的。ひらめき」

「よく分からないけど分かったわ。人間を捨てないと駄目って事ね」

「こういうのも」


 ミニアはリタリーに紙を差し出し、そこには呪文が書いてあった。

 次にリタリーから呪文を教わった時にお礼に上げようと思っていた物だ。

 この呪文のイメージはこうだ。


void main(void)

{

 char o[500]; /*軌道データ*/

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

 mp=fire_ball_make(15); /*魔力15で火の玉生成*/

 magic_straight(mp,o,500); /*軌道を真っ直ぐ*/

 magic_move(mp,o,500); /*飛ばす*/

}


 これの工夫した所は詠唱をなるべく短くなるように努力した。

 二十文字減といった感じだ。




 リタリーは試しに呪文を唱えると驚愕した。


「これ、魔力コスト30ぐらいだわ。魔道具にできるなんて、素晴らしい呪文だわ。三倍の威力なのに、詠唱が一番簡単なファイヤーボールの三倍の長さに収まっている。画期的よ」

「ドラゴン的。ひらめき」


 ミニアが胸を張る。

 俺は褒められて嬉しかった。

 それが態度に出たのだろう。


「このドラゴン偉そうね。それとも飼い主が褒められて嬉しいのかな」

「嬉しいさ。呪文コレクターの面目躍如だ」


 そう俺は魔法で返した。


「ミニアちゃん、呪文コレクターだったのね」

「違う」

「ムキになって否定するところも可愛い」


 ミニアをリタリーがぎゅっと抱きしめる。

 ミニアは苦しそうだが、なんとなく嬉しそう。


 それからミニアは頑張って魔力を上げ、十日あまりで200を越えた。

 まあ俺も獲物を押さえつけるなど協力したがな。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る