輸送の問題

輸送周りの処理は非常に厄介だ。とりあえず頭の中を吐き出してみる。

  • 輸送命令を受けた海軍が撃退されると輸送は失敗するので輸送される陸軍の移動解決前に輸送する海軍の撃退を確認しなければならない。
  • 支援命令と違って撃退されない限り輸送は有効なので輸送側と攻撃側それぞれへの支援が攻撃解決時には確定している必要がある。
  • 輸送された陸軍による支援カットも考慮しなければならないが輸送経路の海軍が撃退されるとカットも成立しない気がする。

ここでデッドロック。輸送の成否解決のためには輸送経路の戦闘解決が必要。戦闘解決には支援の成否解決が必要。支援の成否解決には輸送の成否解決が必要。これを綺麗に実装する方法が思いつかない。プログラムにとって実際に起こり得るかどうかは問題ではない。論理的に起こり得るのであればそれは起こると考えねばならんのだ。

さらにこんなルールが。

輸送される陸軍にとっての移動先、即ち、輸送先の沿岸地域にいる海軍が支援命令を受けており、その支援が当該の輸送を行なっている海軍への攻撃を支援するものであったなら、その支援は無効とならない。

支援カット無効の輸送版てとこか。このルールで分からないのは輸送経路が複数あって他が無傷でも輸送経路への攻撃支援はカットできないのかということだ。この文面を素直に解釈するならそうなる。海運貨物と化した陸軍が自分たちを輸送する艦船への攻撃を阻止できようはずがない。海戦だし。ただ別ルートで敵支援部隊が駐留する海岸に到達できるのであれば話は違うんじゃないか。このルールは輸送経路が一つしかない場合の優先度を示しているに過ぎないのではないか。

輸送の成否を仮解決で済ませてしまえば何とかなりそうな気もするが……支援部隊を基準にすると……交戦陸軍が輸送されてくるなら……支援する攻撃の対象が輸送経路に含まれるか確認して……その攻撃対象が撃退されたと仮定した場合にも輸送が成立するか確認して……仮定条件で輸送失敗なら上記ルールによってカット無効とすると……いけるか?

ただこれでは支援部隊と無関係の部隊によって他の輸送ルートが破壊されて結果輸送失敗になってもカットだけは成立してしまうことになる。無理に解釈するなら「正面から来るなら支援を中断する必要はない」しかし「側面背面から来る可能性があるなら実際に到着しなくても支援に集中できない」として筋が通っていると言えなくもないが。

要確認事項としてメモしておいてまた明日。

  • 輸送経由の移動先に支援命令を受けた部隊がいる
  • 支援部隊が支援する攻撃の対象は自分たちの輸送経路ではない
    • ルール的にはまずこの時点で支援カットが成立するはず
  • ところが別の部隊にも輸送経路を攻撃する命令が出ている
  • すべての命令を処理した時点で輸送失敗は確定
    • 輸送先の支援カットは成立しているのに実際には到着しない

さてこれは矛盾か否か。むう。