↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
転生プログラマの魔法デバッグ ~この魔法、クソコードすぎる~  作者: 空乃真芽


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

PR
8/23

第七話 消してはいけない一行


 火種の魔法にある、理由不明の上限。


mana = min(mana, 10)


 必要魔力が十五と計算されても、実際に確保する量を十へ抑える処理だ。


 それから一週間、俺はこの一行が気になって仕方なかった。


 帳面を開いては、考える。


 上限を外せば炎は安定する。しかし消費が増える。


 では、必要魔力の計算を変えればいいのか。


 基本費用四。制御費用は`power + 1`。予備費用五。


 火種一つに予備が五も必要なのか?


 不要なら削れる。


 だが「予備」という名前だけでは、それが何のためか分からない。


「お兄ちゃん、ごはんだよ」


 ミアが部屋を覗き込んだ。


「今行く」


「また数字見てるの?」


「見てる」


「楽しい?」


「分からないから楽しい」


「へんなの」


 五歳児に正論を言われた。


     ◇


 答えは、次の講習で思わぬ形から見つかった。


 その日は風が強かった。


 ハンナ先生は火の練習を中止し、集会所の中で魔法史の話をするつもりだったらしい。


 ところが、昼前になると風が弱まった。


「短時間だけ、外で復習をしましょう」


 先生は地面が湿っている場所を選び、子供たちを並ばせた。


 俺はいつものように、先生の隣で記録係だ。


 木箱の上には、前の講習でも使った小型の測定水晶が置かれている。正確な消費魔力は、人の感覚ではなく、この道具で記録する。


 一人目の子が蝋燭へ火を灯す。


 二人目も成功。


 三人目の少女が手を出した時、急に強い風が吹いた。


「きゃっ」


 火種が蝋燭を外れ、地面へ流される。


 近くには濡れた土しかない。危険はないはずだった。


 それでもハンナ先生が、すぐに手をかざした。


 飛んだ火が、空中で小さく弾けて消える。


 その瞬間、俺には奥の処理が見えた。


reserve_cost = 5


if target_lost:

extinguish_fire(reserve_cost)


 予備の五。


 対象を外れた火を消すために確保されていた。


「これか……!」


 もし効率だけを見て`reserve_cost`を削っていたら、飛んだ火は消えなかった。


 俺が工房の布を焦がした時と同じだ。


「レオン?」


「先生、今の火を消すのに、魔力を五くらい使いましたか?」


 先生は測定水晶に浮かんだ`5`を確かめた。


「ええ、水晶も五を示しています。よく分かりましたね。火種の術式は、制御を外れた時のために一部の魔力を残します」


「いつも使うんですか?」


「いいえ。正常に火が灯れば、残った魔力は術者へ戻ります」


 消費されるとは限らない。


 必要な時のために予約している。


 前世でいえば、例外処理用の余裕だ。


「なら、削っちゃ駄目だ」


 帳面の「削除禁止」を、二重線で囲む。


「何を削るつもりだったんです?」


 先生の声が低くなった。


「実行はしてません」


「何を?」


「火を消すために残してある魔力が、無駄なんじゃないかと思って」


 先生はしばらく黙った。


「確認しますが、本当に消してはいませんね?」


「はい。理由が分からなかったから」


「それならよろしい」


 少しだけ表情が和らぐ。


「魔法の術式には、使う人が意識していない働きもあります。普段は見えないからといって、不要とは限りません」


「身にしみました」


 壁の焦げた布を思い出す。


 今回は、消す前に理由を見つけられた。


 だが、問題の上限はまだ残っている。


 必要魔力十五のうち五は、緊急消火用に予約される。上限十では、通常の火を作って制御する分だけで全部使い切る。


 だから炎が揺れる。


 上限を外せば安全機能まで正しく働くが、初心者には負担が大きい。


「どっちかを選ぶしかないのかな」


 安定性か、消費量か。


 先生が使う標準術式は、消費量を十へ抑え、普段の安定性を少し落としていた。ただし対象を失った時には、通常制御の魔力を緊急消火へ回している。


 不格好ではある。


 でも、長い間事故を防いできた。


 クソコードだと笑って、消していい処理ではなかった。


「レオン、難しい顔をしてる」


 休憩中、さっき火を飛ばした少女が心配そうに言った。


「私、何か変なことした?」


「ううん。君のおかげで分かったことがある」


「失敗したのに?」


「失敗した時にしか動かないものもあるから」


 少女はよく分からないという顔をしたが、最後には笑った。


 正常に動いている時だけ見ても、安全な魔法かどうかは分からない。


 失敗した時、どう動くのか。


 それも確かめなければならない。


 俺は帳面へ、新しい項目を書き足した。


 正常時。


 魔力不足時。


 対象を外した時。


 途中で止めた時。


 魔法を直すために必要なのは、正しい答えを一つ出すことではない。


 間違った時に、どれだけ安全に失敗できるか。


 その仕組みを守ることも、修理の一部なのだ。


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

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