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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
13/16

13 最先端の量子計算を駆使した結果、生存率がギリギリだったのは、さすがに笑えない

ハロー、ハロー、 架純です!


今回もC++のコードを組み込んで、魔術がどのように実装されているかを説明してみました! なるべく全員がちゃんと理解できるよう、細かい注記をつけるよう心がけましたよ。


気に入っていただけたなら、どんな形でも応援していただけると嬉しいです! 感想もぜひ下に書いてくださいね!

//赤ちゃん~~注記:未知の存在に対する実験的な戦闘予測システム

class SpecialEngagementEngine {

// ==特殊交戦エンジン==

private:

double sanityLevel; // 正気レベル

double perceptionError; // 知覚誤差

double anomalyFlux; // 異常変動率


public:

SpecialEngagementEngine() {

sanityLevel = 0.91; // 赤ちゃん~~注記:あたしたちがどれだけ正気かを示す値

perceptionError = 0.37; // 赤ちゃん~~注記:計算がどれだけズレうるかを示す値

anomalyFlux = 0.12; // 赤ちゃん~~注記:致命的異常が起きる可能性

}


double evaluateThreat(double kanonSkill, double ammoCount) {

// kanonSkill=カノンの技量値、ammoCount=残弾数

// 赤ちゃん~~注記:戦闘中に変動することがあります!!!

double incomprehensibleMass = sin(rand()) * 10000;

// ↑理解不能質量——存在そのものの不可測な規模を示す


double firepower = kanonSkill * log(ammoCount + 1);

// ↑火力——技量と残弾数から算出される攻撃力の指標


// 赤ちゃん~~注記:致命的異常は取得データを破壊する可能性があります!

double distortion = cos(anomalyFlux * incomprehensibleMass);

// ↑歪曲値——異常変動が引き起こす予測不能な誤差


double probability = firepower / (firepower + incomprehensibleMass);

// ↑確率——火力と理解不能質量の比率から求める生存見込み


probability += distortion * 0.2;

probability *= sanityLevel;


// 赤ちゃん~~注記:時間経過による正気の自然崩壊

sanityLevel -= 0.0005;


// 赤ちゃん~~注記:あくまで近似値です!?(そうだといいな……)

if (probability < 0) probability = 0;

if (probability > 1) probability = 1;


return probability;

}


void runSimulation(int iterations, double skill, double ammo) {

// iterations=試行回数、skill=技量値、ammo=残弾数

double total = 0;


for (int i = 0; i < iterations; i++) {

total += evaluateThreat(skill, ammo);


// 赤ちゃん~~注記:考慮すべきシステム不安定の可能性

if (rand() % 5000 == 0) {

cout << "[WARNING] 視覚フィードが「目」に置き換えられました……";

sanityLevel -= 0.05;

}

}


double result = total / iterations;

// ↑最終結果——全試行の平均生存確率


cout << "=== 実行レポート ===";

cout << "試行回数:" << iterations << endl;

cout << "生存確率推定値:" << result * 100 << "%";


if (sanityLevel < 0.5)

cout << "[ALERT] オペレーターの正気が危険水域に達しました。";


if (result > 0.6)

cout << "予測:ターゲットの無力化は可能。";

else if (result > 0.3)

cout << "予測:結果は不確定。撤退を推奨。";

else

cout << "予測:交戦禁止。";


cout << "最終正気指数:" << sanityLevel << endl;

}

};


int main() {

SpecialEngagementEngine engine;


double gunslingerSkill = 9.7; // 赤ちゃん~~注記:カノンの推定能力値(10点満点)

double ammoCount = 8; // 赤ちゃん~~注記:残存致死弾の推定数


cout << "[SYSTEM] 異常スキャン、初期化中……";

cout << "[SYSTEM] 存在の特徴:「……目……どこにでも……」";

cout << "[SYSTEM] WARNING:ジオメトリが不安定です。";


engine.runSimulation(10000, gunslingerSkill, ammoCount);


return 0;

}


『結果は0.8……なるほど、よくわかった。ありがと、赤ちゃん』

「どういたしまして! 次はVRソーダ奢ってよね?」

『覚えておく。パンドラ・キーズ:エクストラクト』


世界が元に戻ると同時に、怪物がようやくこの男に向かって動き出した。しかしカノンは新たな弾丸を装填し終えており、0.5秒以内に目を二つ撃ち抜いた……敵はその場で動きを止め、困惑したように瞬きをした。


「俺くらいの腕前になると、あとはヴォル・ドゥンケル(漆黒)とヴォレス・リヒト(完全なる光)、どちらを使うかだけが問題になる……しかしスキャナーが面白いものを見つけてな。知ってるか?」


撃ち込んだ二発を再装填しながら喋り続け、カノンは距離を詰めた。目と影の塊は、まるで恐れているかのように後退し始めた。


「貴様のコアは闇で満ちている。ヴォレス・リヒトで少しずつ削ることもできるが、コアがあれほど深いなら永遠にかかる……だがヴォル・ドゥンケルなら、未知のコードを注入して不安定化させられる……ハックみたいなものだ」


その巨大な体躯はあまりにも格好の的で、目を閉じていても当てられるくらいだった。射撃しながらもほとんど退屈そうにさえ見えた。体の輪郭と形が歪み始め、目たちは何かを予感するように閉じていく。


「今更爆発か? 窓から飛び出せばいいだけだが……」

「ごほっ、ごほっ……」

「……!?」


カノンの真後ろで聞こえたその音が、すべてを変えた。もし先ほどのカルト信者の一人がまだ生きているなら、尋問によってシュスター神権国という脅威への対処と、リリネットの保護、その両方に向けた大きな一歩を同時に踏み出せる。


『怪物の攻撃を生き延びた奴がいたとは……計算外というより、運が悪かっただけだが……しかしもはや全部片付けるしかない』


逃げる選択肢が消えた。爆発を最善の形で阻止する方法を、もう一度計算しなければならない。


『赤ちゃんは遅い……紫さんを使うべきか? しかしセキュリティを無効化した状態では、衛星にまで補足されかねない……学院周辺の他のシステムはなおさらだ……』


考え込んでいる間に、階段を駆け上がる足音が廊下に響き渡った……しかしカノンは思考の深みに入りすぎていて、気づくことすらなかった。


「どうでもいい。Cプログレッション:シューティング・フィールド」


廊下の空気が一瞬で変わり、カノンが次の弾を撃った瞬間、発した音の歪みによってすべての窓が同時に砕け散り、外の月明かりを揺がすほどの速度で弾丸が走った。しかし廊下の反対側では——


「土方の剣——天照の触レ」


エージェント・ブラントが瞬きする間もなく、弾丸も怪物も、あまりにも細かく切り裂かれたため、消滅したと表現する方が正確かもしれなかった。


「奇妙よな……影が二つ、確かにあったはずじゃが……」

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

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

↑ページトップへ