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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
異世界転生したけど、スキルが『Excel』だけだった。でもマクロ組んだら魔法より強かった件  作者: まこーぼ


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

5/51

第5話:脳内デバッグとVBAの夜明け 〜For Eachループで洗う魂〜

 朝、という認識が戻るより先に、強烈な「不快感」が脳髄を叩き起こした。


 ジジッ……ザザッ……。


 頭の中で、チューニングの合わないラジオのようなノイズが鳴り響いている。

 瞼を開ける。

 視界が明滅している。

 岩壁の隙間から差し込む朝日が、白い槍のように薄暗い洞穴を貫いていた。その光景が、時折、歪む。

 RGBの色彩情報がズレて、赤と緑が分離した版画のように世界が二重に見えるのだ。


「……ぐ、ぅ……頭が……」


 俺はこめかみを押さえて起き上がろうとした。

 その時だ。

 視界の端、洞穴の隅を這っている一匹の虫が目に入った。

 ムカデに似た、多足の黒い虫だ。


 普段の俺なら、悲鳴を上げて後ずさりする場面だ。

 だが、今の俺の反応は違った。


 (――美味そうだ)


 喉が鳴った。

 唾液腺から、粘着質の液体がドッと溢れ出る。

 あの殻を噛み砕いた時の、プチッという食感。中から溢れ出る苦味のある体液。それが無性に恋しい。

 俺の右手が、勝手に動いた。

 素早い動作で虫を捕らえ、口元へ運ぼうとする――。


「――ッ!?」


 寸前で、俺の「人間としての理性」が急ブレーキをかけた。

 俺は慌てて右手を振り払った。

 虫が放り出され、壁に当たって落ちる。


「はぁ、はぁ……なんだ、今のは……」


 心臓が早鐘を打っている。

 自分の手が、自分の意思とは無関係に「捕食行動」を取ろうとした。

 冷や汗が噴き出る。

 これは、マズい。

 昨日の「消化不良」エラーは、単なる腹痛の隠喩ではなかった。

 フォレストリザードの行動原理アルゴリズムが、俺のOSに干渉しているのだ。


 俺は震える手で、空中にステータスウィンドウを展開した。


 `[Buff/Debuff]: 結合エラー:データ競合 (Severity: High)`


 深刻度が上がっている。

 このまま放置すれば、俺の人格ユーザーフォームが、トカゲの野性というスパゲッティコードに侵食され、上書きされてしまうかもしれない。

 そうなれば、俺は工藤聡という名前の、ただの賢いトカゲに成り下がる。


 修正デバッグしなければ。

 だが、どうやって?

 手動で一つずつ「トカゲっぽい思考」を削除していくか?

 無理だ。思考は連続的なストリームデータだ。どこからが人間で、どこからがトカゲか、明確な境界線がない。


 処理を自動化するしかない。

 ルールに基づいて、データを精査し、必要なものだけを残してあとは破棄する。

 つまり、VBAマクロだ。


 俺は洞穴の冷たい岩肌に背中を預け、胡座をかいた。

 目を閉じる。

 外部の視覚情報を遮断し、内なる「開発環境(VBE)」へと潜るイメージ。


 暗黒の空間に、白いウィンドウが浮かび上がる。

 `Module1`。

 真っ白なキャンバス。

 キーボードはない。だが、俺の思考はキー入力そのものだ。

 俺は意識を研ぎ澄まし、コードを記述し始めた。


 `Sub Soul_Optimization()`


 プロシージャ名を宣言する。

 魂の最適化。大それた名前だが、やることはデータの整理だ。


 まず、変数を定義する。

 `Dim mainMemory As Range`

 `Dim cell As Range`

 `Dim foreignData As Variant`


 俺という存在を構成する全データ領域を `mainMemory` と定義する。

 そこから、結合によって混入した `foreignData` (異物)を抽出するのだ。


 `Application.ScreenUpdating = False`

 画面更新の停止。処理中のチラつき(精神的な発作)を抑えるためだ。必須の処理だ。


 ここからが本番だ。

 ループ処理を書く。

 `For Each cell In mainMemory`


 一つ一つの記憶、感覚、本能のセルを走査する。

 問題は、判定条件(If文)だ。

 何を基準に「異物」とするか?


 トカゲのデータ全てが悪ではない。

 「強靭な皮膚」や「筋力」のデータは残したい。

 削除すべきは、「人間としての倫理観と矛盾する行動原理」だ。


 コードを紡ぐ。脳神経が焼き切れるような負荷がかかる。

 普段の業務で書いていたコードとはわけが違う。

 変数の型が「String」や「Long」ではなく、「Emotion」や「Instinct」といった抽象的なクラスオブジェクトなのだ。


 `If cell.Origin = "monster_lizard_forest" Then`

  (もし、データの起源がトカゲであるならば)


  `If cell.Type = "Physical" Then`

   (かつ、それが身体的なデータであれば)

   `cell.MergeArea.Style = "Optimized_Body"`

   (肉体強化として統合し、保持する)


  `ElseIf cell.Type = "Mental" Then`

   (もし、精神的なデータであれば)

   `cell.ClearContents`

   (内容を消去する)

   `'あるいは、スキルとして抽出してデータ化する`

   `Call ExtractSkill(cell)`


  `End If`

 `End If`


 `Next cell`


 論理は構築できた。

 しかし、`ExtractSkill` というサブルーチンの中身がブラックボックスだ。

 どうやって本能をスキルに変換する?

 ええい、ままよ。 `On Error Resume Next` (エラーが発生しても無視して次へ進む)。

 プログラマーとしては三流の逃げ手だが、今は自己崩壊を防ぐのが先決だ。


 コードが完成した。

 行数は百行足らず。だが、その一行一行に俺の自我が込められている。


 俺は深呼吸をした。

 洞穴の澱んだ空気を肺いっぱいに吸い込み、吐き出す。

 実行(F5)。


 カチッ。


 瞬間、脳髄に白い雷が落ちたような衝撃が走った。


「が、あアアアアアッ!!」


 声にならない絶叫が漏れる。

 痛い。頭が割れるように痛い。

 脳の中で、何万という小人がノミと金槌を持って工事を始めたような感覚。

 記憶がシェイクされる。

 社畜時代の苦い思い出と、トカゲが獲物を狩った時の歓喜が混ざり合い、そして分離されていく。


 視界の左下に、プログレスバーが表示されている。

 緑色のバーが、ジリジリと進む。

 処理速度が遅い。CPU(俺の脳)のスペックが足りていないのか。


 (耐えろ……耐えろ工藤……!)


 トカゲの「食欲」が暴れる。

 消されることを拒むように、俺の精神に爪を立ててくる。

 目の前に幻覚が見える。

 肥え太ったネズミ。柔らかそうな肉。啜りたい血。


 『削除しますか?』

 ダイアログが出る。

 『Yes』

 俺は意識の指で、連打する。

 Yes、Yes、Yes!

 俺は人間だ! 生肉なんぞ食ってたまるか!


 50%……70%……90%……。


 脂汗で全身がずぶ濡れになる。

 歯を食いしばりすぎて、口の中に鉄の味が広がった。


 そして。

 100%。


 スゥッ……と、頭の中のノイズが消えた。

 潮が引くように、痛みと混乱が去っていく。

 残ったのは、澄み渡るような静寂と、奇妙なほどクリアな思考。


 『処理が完了しました』


 俺は荒い息を整えながら、再び目を開けた。

 世界はもう、歪んでいなかった。

 朝日が綺麗だ。

 足元のムカデを見ても、「気持ち悪い」としか思わない。正常だ。


 ステータスウィンドウを確認する。


 `[Buff/Debuff]: なし`


 消えた。

 そして、スキルの欄が増えていた。


 `[Skills]:`

  `- Excel操作 (Lv.Max)`

  `- セルの結合 (Lv.1)`

  `- VBA構築 (Lv.1)`

  `- 気配察知 (Passive) [New!]`

  `- 硬質化 (Active) [New!]`


 成功だ。

 トカゲの「本能」の一部を、制御可能な「スキル」という形式に変換コンバートして保存することに成功したのだ。

 `気配察知` はトカゲの索敵能力、`硬質化` はあの硬い皮膚のデータだろう。


「……ははっ、やったぞ……」


 乾いた笑いが漏れた。

 俺は、俺自身をハッキングして書き換えたのだ。

 この達成感は、どんな難解なプロジェクトを完遂した時よりも大きかった。


 しかし、精神的な安寧が得られたことで、後回しにしていた物理的な欲求が、倍返しのように押し寄せてきた。


 グゥゥゥゥゥ――キュルルルル……。


 腹の虫が、断末魔のような音を立てた。

 喉はカラカラで、唾液も出ない。

 MP(精神力)を使い果たしたせいで、糖分を猛烈に欲している。


 俺はよろめきながら立ち上がった。

 入り口を塞いでいた「罫線」を見る。

 昨夜、俺を守ってくれた黒い太線。


 俺は線を選択し、Deleteキーを念じた。

 プツン、と線が消滅し、外の空気が流れ込んでくる。

 朝の森の空気は、昨夜よりも少しだけ優しく感じられた。


 水だ。まずは水を確保しなければならない。

 そして、できれば毒のない食料も。

 俺は `気配察知` のスキルを意識してみた。

 使い方は分からないが、Excelの「オートフィルタ」をかけるような感覚だろうか?


 意識を広げる。

 すると、視界のグリッド線上に、うっすらと波紋のようなシグナルが表示された。

 右前方、約三百メートル。

 `Water_Source` (水源)らしき反応と、いくつかの `Small_Animal` (小動物)の反応。


 俺はそのシグナルを頼りに、一歩を踏み出した。

 革靴が土を噛む感触。

 昨日とは違う、確かな「生存への意志」が、足取りに力を与えていた。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
+注意+

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

↑ページトップへ