第29話
牢屋の壁と鉄格子は生半可な力では穴を空けることはできないように頑丈に作られていた。たとえ魔法を使っても普通の魔法では表面に傷をつけるのがせいぜいというところで、精霊魔法を使わなければ脱出できるほどの穴をあけることは不可能だ。
ダフニは精霊契約をしてはいるものの、リピカの力は戦闘向けではないと知られているので魔法使い用の特別な拘束をされていないのだろう。もっとも、魔法使い用の拘束はかなり屈辱的な拘束になるので王子に対して行うのをためらったのかもしれないが。
――それにしてもみんな私のことをバカにしすぎですな。人の力量をきちんと見積もれなければいつ足元をすくわれても文句は言えないですな。
結果だけを冷静に見つめる目があれば、ダフニはもっと注目され警戒されてもおかしくないだけの内容を残していた。ただ、ダフニの精霊が未知の精霊だったことと、その年齢や言動から結果を真剣に注意して来なかったことが今の状況を作っていた。
――創造の魔法で鍵を壊すですな。出来損ないの直方体にでもしてしまえば鍵の役目は果たさないですな。
3Dモデラーを起動して牢屋の鍵をちょいちょいと変形していびつな直方体を作って創造の魔法を使うことで、頑丈なはずの牢屋の扉はあっさりと開いてしまった。しばらくしたら鍵は元に戻るが開いた扉は元には戻らない。
同じ方法でレオの牢屋の扉もあっさりと開けてしまった。
「お兄さま、大丈夫ですかな?」
レオの下へダフニが駆け寄って声をかけるが、レオは気を失っていて返事をしなかった。全身には切り傷や打撲の跡が数多くついていて、かなり手荒な扱いを受けていたことが見て取れた。
――まずは治療するですな。
レオにもRestore-To-Pastを使えないかと思ったが、ここ最近に強い記憶のキーとなる出来事がなかったので使うのは難しいと思われた。父王の葬儀のころまで遡ればあるが少し古すぎて何かあってはまずいとダフニは考えた。
なのでダフニは治癒魔法でできる範囲内で怪我の治療を行ってから、レオを背負って王宮から脱出することにした。
治療を終えてレオを背負って、ダフニは大きな問題に気が付いた。
――全く走れないですな。両手も使えないですな。
走れないのは移動の魔法でカバーできるとして、両手の自由が利かないのは困りものだった。
もちろん手が使えなくても魔法は使えるので戦闘ができないわけではないが、とっさの時に身動きが取れない状態で戦闘になることに不安を覚えて、コマンド操作で使える護身術を用意しておこうと思った。
ダフニが使える最強の攻撃手段はレールガンだ。ゼフィルがドラゴン退治で使ったものではなく実験用に作ったライフル銃サイズのものだが、移動魔法でものを飛ばすより殺傷力は高かった。
今ここにレールガンは持ってきていないが、リピカを使ってレールガンの記憶を再現すればこの場に生み出すことは簡単だ。実験で何度も隅々まで手を入れているし、実験が成功した時の記憶は今でも鮮明だからだ。人間ではないので最近の記憶でないとという不安もない。
問題は両手を使えない状態でどうレールガンを持つかだが、移動魔法を連続使用して宙に浮かせる方法を思いついた。
Floating-Rail-Gun
> import Control.Concurrent
> main = let loop side = do_move dir >> do_wait >> loop (not side)
> in loop True
> where
> do_wait = threadDelay (100 * 1000)
> do_move left_side = do
> place <- locate $ if left_side
> then "頭上40cm左20cm"
> else "頭上40cm右20cm"
> callMove 1 $ to place
Floating-Rail-Gunは頭上40cmのところを横幅40cmの範囲で8の字を描くように滞空させるプログラムだ。移動の魔法は目標地点まで移動すると魔法が終了してしまうので、移動魔法と待機魔法を組み合わせて8の字に動かすことで滞空させられるようにしたのだ。
さらに頭上に浮かせたレールガンをアイコン操作の照準で発射できるようにして、ダフニはようやく地下牢から脱出することにした。
ダフニは王子とはいえ王宮に通っているわけでも住んでいるわけでもないので中の構造には不案内だが、エーテル知覚を持っているので全体像を把握することは難しいことではない。なので、遠回りでもできるだけ人に見つかりづらそうな経路を選んで進んで行った。
――最後、あの門をくぐれば外に出られるですな。
王宮から出るまであと一息というところでダフニは立ち止まっていた。門のところには門番がいて出入りを逐一チェックしているため素通りすることができない。ダフニだけなら門番が事情を知らないことに賭けて何食わぬ顔で通り抜けられるか試してもいいが、今はレオがいるので確実に止められてしまう。
他にも門はあるがどの門にも門番は配置されているのでどこに行っても同じだ。お話などによくある地下通路や下水路などというものもないので、この門を突破する以外に術はない。
――仕方ないですな。少し手荒になるですな。
ダフニはアイコン操作でレールガンの照準を定めて連射した。
GUOM GUOM GUOM GUOM GUOM GUOM GUOM GUOM
連続で打ち出された鉄球は鈍い金属音を立てて門にぶつかり鍵を壊してどうにか人が通れる隙間をこじ開けた。
――行くですな。
突然の出来事に門番が慌てて走り回る中、ダフニは移動の魔法を駆使して門の隙間を高速で駆け抜けた。そしてその後は追いかけられないように移動の魔法を使って急いで王宮から距離を取った。門にぶつかって隙間を通れなかったレールガンは回収を諦めその場に放置してきた。
王宮を無事に出たダフニたちはひとまず安全な身の置き場として伯父のチェーリオ子爵の下へと身を寄せることにした。子爵の屋敷に着くと門番はすぐにダフニとレオに気が付いて子爵の下へと案内された。
「これは殿下! 一体どうやってここまでいらっしゃったのですか?」
「王宮の地下牢に捕らえられていたので助けて来たですな。怪我をしていたので応急手当はしてあるですな」
子爵は急いで人を呼んでレオを寝室へと運ばせた。
「医者は呼ばないですかな?」
「今はまだここに殿下がいらっしゃることが外に漏れると危ないので」
「何が起きているですかな?」
子爵の説明によれば、突然アヴェンティ公爵がレオを国家転覆罪で投獄したと発表し、全容の解明が進むまで貴族に自邸での待機を指示したのだそうだ。当然貴族たちは反発したが、衛士と宮廷魔導士が公爵を支持したので貴族たちもそれに従わざるを得なくなったのだ。
「マルクお兄さまが襲ってきたのもそのせいだったですかな」
「マルク様がダフニ様を襲ったのですか?」
「そうですな。マルクお兄さまはどうにかしたけれど、その後衛士の人たちに捕まったのですな」
ダフニは気づいていなかったが、隊長クラスの衛士は始めからマルクがダフニを襲うことを知っていて、手を出さないようにマルクから言い含められていた。なので、ダフニとマルクの争いを見た衛士が報告をしても誰も止めに来なかったのだ。
「伯父様はクロエを見たですかな?」
「見ていませんが」
「うむ。ちょっと確認することができたのでこれで失礼するですな」
「あ、ダフニ様」
そう言うや否や、子爵が止める間もなくダフニは子爵邸を後にした。向かう先は学園のダフニの自宅だ。
――あの時私はクロエに王宮のレオに助けを求めるように言ったですな。何事もなければいいですな。
走っていると運動不足のせいで息が切れてきたので、途中から人通りのないところは移動の魔法で進んで行った。人のいるところを避けるのは、人目を避けているのではなく移動の魔法をむやみに使うと人にぶつかるからだ。
ようやく自宅にたどり着いてクロエの名を呼ぶが返事はない。部屋を一つ一つ開けてみるがクロエがいる気配はなかった。
――やはりまだ王宮ですな。もしかすると捕らえられている可能性もあるですな。地下牢にはいなかったので、どこか別の場所なのですな。
クロエを助けるには王宮に戻らないといけない。しかし、レオとダフニが逃げたことで王宮は厳戒態勢になっているはずだ。その中を突破してクロエを探して外に出てくるというのは容易なことではない。
そこでダフニはレオを助けるときに作ったプログラムをさらに改良することにした。1本だけしか使用できなかったレールガンを4本同時に周囲に展開し、一斉射撃や複数箇所同時射撃ができるようにした。これで城の通用門くらいなら造作なく突破できる力を得ることができるはずだ。
また、そもそも門を破壊しなくてもよいようにするプログラムも開発することにした。門を通るのは地面を歩かなければならないからで、空を飛べれば門を簡単に飛び越えることができる。
Fly
> import Control.Concurrent
> main = do
> stride <- measure "1メートル"
> arrow <- drawArrow
> start <- drawToggleButton STATUS_OFF
> waitForChange arrow STATUS_ON
> do_fly stride start arrow
>
> do_fly stride start arrow = get_here >>= loop
> where
> get_here = locate "私" >>= return . getPosition
> loop here = do
> do_step here
> here <- get_here
> threadDelay (500 * 1000)
> status <- getStatus start
> case status of
> STATUS_ON -> loop here
> _ -> do
> waitForChange start STATUS_ON
> get_here >>= loop
> do_step here = do
> direction <- getDirection arrow
> let there = shiftPosition (makePolar direction stride) here
> callMove 1 $ to there
このプログラムは空を飛ぶプログラムだ。矢印とスイッチを表示してスイッチがONになっている間だけ矢印の方向に飛び続けるということになっている。着陸が難しそうだが、怪我をしたら最悪でも骨折の時のように復元すれば大丈夫なはずだ。痛いけど。
――よし。行くですな。クロエ、待っているですな。
王宮の周辺は衛士がうろついていた。脱出したときはほとんどいなかったので、やはり警戒が強くなっているのは間違いないようだ。
ダフニはFlyを発動して空へと浮かび上がった。飛行スピードは固定の上、止まると自由落下するという微妙な操作性だったがとにもかくにも空を飛んで城壁を乗り越えた。そしてそのまま地上には降りずに上空からクロエの下へ直接向かうことにした。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます