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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
ファイヤーボールって、何だ!? 〜呪文屋ロクスケは術式を走らせる〜  作者: 白洲詠人
第一部 ファイヤーボールって、何だ!?
22/85

第1-22話 2人だけの秘密って、何だ!?

数分後、ロクスケのスクロールショップ…


「こんな所に来て、どうするつもりなの!?」


アゲハの言葉に、ロクスケは後ろを向いたまま、色々な物が乱雑に置かれた引き出しの中をゴソゴソとひっくり返し、出て来た物を頭に巻く。額に水晶の着いた鉢金の様な、明らかにマジックアイテムだ。


「それじゃあ…顔をこっちに向けろ…」

そう言ってロクスケは顔を近づけて来る。


「キャっ!!な、何すんのよ!!」

アゲハは慌ててロクスケの顔を手で避けようとする。


「額と額を合わせるだけだ!!そうしないと頭の中の術式が見えんだろう!?」


「あ、あたしの頭の中を覗くの!?」

更にアゲハは身をよじる。


「お前自身が見せようとした情報しか見えんから安心しろ!!」


「それじゃあ…」

アゲハは額にかかった前髪を横にどけ、ロクスケは魔道具の着いた額を押し当てる。


(………)

ロクスケはアゲハの中の術式をしばし読んだ後…鼻から口元にかけて風を感じ、目を開ける。


視界全体に広がる薄っすらとした肌色。アゲハの整った顔が文字通り目の前にあるのだ!!さっきの風は、アゲハの呼吸か!?


「うわっ!!」

思わずロクスケは声を上げ、アゲハから顔を離す。


「わっ!!い、一体、何よ!?」

アゲハも声を上げる。


「な、ななな、何でも無いぞ!!(落ち着け!!このマジックアイテムに、こっちの考えを相手に伝える効果は無い!!)」

顔を真っ赤にして戸惑うロクスケに、アゲハは彼の胸中を察する。


(ロクスケが、ドキドキしてる!?あ、あたしの顔が近くにあったから!?)

意外と可愛い。意識してたのは、あたしだけじゃあ無かったのか。アゲハは思った。

こいつ(ロクスケ)がぶっきらぼうなのは、他人に冷たいからじゃなく、他人との接し方自体が分からないから…!?)

思わずクスっと微笑むアゲハに、ロクスケは仏頂面で、

「な、何だよ!?」

「別にぃ…それより、何がいけないのか、分かったの!?」

「ああ…」

コホンと咳払いをしながら、ロクスケは言った。


「randomballサブルーチンは、半径rmaxの球の中に、imax個のクラスターを均等に作る物で、i個目のクラスターの座標が、r,θ,φなんだ。でも3つのrandomballは、毎回同じiを入力してる。だから…」


「結局、同じ座標を3回返してたって事…!?でも、どうすれば…」


「こうだ。」


ロクスケは側のわら半紙に術式を書き出す。


imax3=int(imax/3)

imax33=imax3*3


for i=1 to imax3

call randomball(a,position,rmax,imax33,(i-1)*3+1,r,theta,phi)

call createcluster(a,phlogiston,mole*nmax,position,r,theta,phi)

call randomball(a,position,rmax,imax33,(i-1)*3+2,r,theta,phi)

call createcluster(a,phlogiston,mole*nmax,position,r,theta,phi)

call randomball(a,position,rmax,imax33,(i-1)*3+3,r,theta,phi)

call createcluster(a,oxygen,mole*nmax,position,r,theta,phi)

:

next i


「サービスでimaxが3の倍数じゃ無かった時の対策も打っといた。intは括弧内の数の整数化で、端数は切り捨てだ。」


「な、なるほど。解釈は後で絶対にしましょう…じゃあ早速試し撃ちを…」


     ※     ※     ※


再び数分後、東新街区北岸…


「ラン、ファイヤーライト!!」

ボン!アゲハの杖の先から火球が海に放たれた。

「で…出来たぁ………」

アゲハは嬉しそうな声を上げ、後ろでロクスケは満足そうに何度も頷いた。だがアゲハはすぐに真顔に戻ると、


「あ、でも最初のrandomballとcreateclusterが2つ並んでるのがスマートじゃないわねぇ…for文でまとめて…」


for i=1 to imax3

for i=1 to 2

call randomball(a,position,rmax,imax33,(i-1)*3+i,r,theta,phi)

call createcluster(a,phlogiston,mole*nmax,position,r,theta,phi)

call randomball(a,position,rmax,imax33,(i-1)*3+3,r,theta,phi)

call createcluster(a,oxygen,mole*nmax,position,r,theta,phi)

:

next i


「これでよし。ラン、ファイヤーライト!!」

アゲハは叫ぶが、何も起きなかった。

「なんでまたぁ………」

「どれ、見せてみろ…」

再び2人は額を合わせる。

「何だこりゃぁ!?二重のfor文のカウンターが、両方ともiになってるぞ!!しかも内側のfor文のnextが無い。それでエラーが起きてるんだ。」

「そんな…頭を2文字空白で下げれば、その範囲をループするんじゃないの!?」

「これはそういうんじゃ無いんだ。」

「そ、それじゃあ…」

術式と格闘する事しばし、ついにアゲハは完成させた。


for i=1 to imax3

for j=1 to 2

call randomball(a,position,rmax,imax33,(i-1)*3+j,r,theta,phi)

call createcluster(a,phlogiston,mole*nmax,position,r,theta,phi)

next j

call randomball(a,position,rmax,imax33,(i-1)*3+3,r,theta,phi)

call createcluster(a,oxygen,mole*nmax,position,r,theta,phi)

:

next i


「難しいのね…何もかも正確に書かないと、思った様に動かないなんて…」


「その代わり、何もかも正確に書けば、どんな複雑な事でも出来るぞ。それにしても…」

ロクスケは暗くて狭い洞窟を、ランタンを灯して歩きながら言う。

「一部簡略化したおかげで、必要魔力量が減ってるみたいだな。なるほど、『ファイヤーライト(軽い)』か…」


「そんなつもりは無かったんだけどな…それにしても…」

2人の目の前に光が見える。闇をくぐった先に抜け出たのは、路地裏。ロクスケのスクロールショップと、アゲハの家の間にかかる橋の下だ。

「こんな所に海への抜け道があったなんて…」

つまりあの海岸は、ロクスケのスクロールショップのすぐ側と洞窟で繋がっていたのだ。ロクスケは洞窟の入口を板で隠しながら言う。

「作った術式の試し撃ちにうってつけの場所なんでな。見つかって塞がれたら面倒だから、この事は誰にも言うなよ。」


アゲハは微笑んで、


「ええ、2人だけの秘密ね…」


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

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

↑ページトップへ