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

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

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

エラーが発生しました。

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

19/21

第19話 バリアと、三重バリアと、素敵なマイラ

 ニオブから何時攻撃を受けても良いように魔法を開発する事にした。

 攻撃は間に合っている。

 作るとすれば防御だ。


extern void time_wait(long time_ms);

extern MAGIC *barrier_make(float mana);

extern int mclose(MAGIC *mp);


void main(void)

{

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

 mp=barrier_make(0.006); /*バリアを張る*/

 time_wait(10*60*1000); /*十分待つ*/

 mclose(mp); /*魔法終わり処理*/

}


 これでどうだ。

 結果は失敗。

 何で失敗したか考えた。

 バリアって何で出来ているんだろう。

 深く考えなかったな。


 力場という事は重力か。

 ならこうだな。


extern void time_wait(long time_ms);

extern MAGIC *gravitational_field_make(float mana);

extern int mclose(MAGIC *mp);

void main(void)

{

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

 mp=gravitational_field_make(0.006); /*重力でバリアを張る*/

 time_wait(10*1000); /*10秒待つ*/

 mclose(mp); /*魔法終わり処理*/

}


 うん、出来た。


「マイラ、そこの椅子に斬りかかってみてくれ」

「いいけど、何で?」

「魔法の実験さ」


「行くよ。はあー。とりゃ」


 椅子の手前でマイラの短剣が止まる。


「どんな感じ」

「柔らかい物で、はじき返された感じ」

「金属の様には硬くは出来ないみたいだな。火球の魔法とかどうなんだろう」


 火球の魔法を椅子に向かって放つ。

 弾かれずに通過したぞ。

 ええと重力だから、炎みたいな軽い物には効き目が弱いのか。


 改造が必要だな。

 こんなのでどうだ。


extern void time_wait(long time_ms);

extern MAGIC *gravitational_field_make(float mana);

extern MAGIC *anti_magic_make(float mana);

extern int mclose(MAGIC *mp);


void main(void)

{

 MAGIC *mp1,*mp2; /*魔法定義*/

 mp1=gravitational_field_make(0.006); /*重力でバリアを張る*/

 mp2=anti_magic_make(0.006); /*対魔法障壁を作る*/

 time_wait(10*1000); /*10秒待つ*/

 mclose(mp1); /*魔法終わり処理*/

 mclose(mp2); /*魔法終わり処理*/

}


 対魔法障壁の仕組みは魔力を吸い取るイメージだ。

 火球の魔法は魔力を燃料に燃えている。

 燃料が無くなれば消える。


 但し、レーザーや熱はこの魔法では防げない。

 爆発の衝撃波も防げない。


 魔法は創造魔法だから、いったん実体化された光は魔力を吸い取っても無くならない。

 重力で光も曲がるが、それは物凄い超重力というような環境だ。

 10Gぐらいだとほとんど影響はないはずだ。


「もう、椅子を焦がしちゃって」

「ごめん。今度から魔法の的は藁束とかを用意するようにするよ」

「ううん、いいの。何かに一生懸命に打ち込んでいる姿って良いと思わない?」

「そうだね。マイラはいつも一生懸命で素敵だよ」


 マイラの顔が赤い。

 リップサービスぐらいしとかないとな。

 それに一生懸命なマイラが素敵なのは本当の事だ。


「もう、馬鹿。褒めたって何にも出ないわよ」


 それにしてもバリアの魔法は難しいな。

 そうだ風の壁も追加しておこう。


extern void time_wait(long time_ms);

extern MAGIC *gravitational_field_make(float mana);

extern MAGIC *anti_magic_make(float mana);

extern MAGIC *wind_wall_make(float mana);

extern int mclose(MAGIC *mp);


void main(void)

{

 MAGIC *mp1,*mp2,*mp3; /*魔法定義*/

 mp1=gravitational_field_make(0.006); /*重力でバリアを張る*/

 mp2=anti_magic_make(0.006); /*対魔法障壁を作る*/

 mp3=wind_wall_make(0.006); /*風障壁を作る*/

 time_wait(10*1000); /*10秒待つ*/

 mclose(mp1); /*魔法終わり処理*/

 mclose(mp2); /*魔法終わり処理*/

 mclose(mp3); /*魔法終わり処理*/

}


 これでとりあえずは完成だ。

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

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

↑ページトップへ