修正

  • StP の陸軍に輸送経由の移動が命令できないバグ
    私が気付いたとき、Bar に海軍がいたので StP の陸軍に対して Nwy への輸送経由の移動が指定できなければならなかったのだが、命令候補欄に輸送経由の移動が出てこなかった。原因は隣接地域の情報だ。StP(NC)-Bar はあれど StP-Bar がなかったのだ。前者は海軍にとっての、後者は陸軍にとっての隣接地域情報である。これはこれで正しいのだが、輸送時には港情報を持たない陸軍の所在地から港情報込みの海軍の隣接地域情報を検索できる必要があったわけだ。ちょちょいと修正。こうして小手先の修正が増え、ソースはどんどん見通しが悪くなっていく。まあ、潜在的には Spa と Bul にも同様のバグが潜んでいたわけで、結果オーライとする。
  • 滅亡判定の変更
    本国の補給基地を他国に占領された状態で全てのユニットを失った国はその年の秋ターンの更新で本国外の補給基地を含めて全領土を開放し滅亡させることにした。例としては SPQR2 の最終ターンのフランスが該当する。本国補給基地を失ったものの Tun を領有している。しかし最後の海軍が敗退し、撤退先を指定せず解体されてしまったので保有ユニットが 0 になってしまった。本国の奪還もユニットの増設も不可能である。SPQR2 の場合はその時点でイギリスが勝利し終了しているから良いものの、続行していたらフランスは最早後にも先にもすることがない状況だ。これを滅亡としなければ、フランスが滅亡を確信してゲームを放棄した場合に、フランスのコミットがないために他のプレイヤーは毎ターン毎フェイズ、時限更新を待つ羽目になっていたところだ。
  • 時限更新の時刻更新バグ
    ついさっき気付いた。MySQL は Timestamp 型 で 24:00 を受け付けないらしく、00:00 とする必要があった。無論その際には日付を +1 しなければならない。危なく見逃すところだった。23:30〜23:59 に更新しない限り遭遇しないバグだった。他にもこういう問題が残ってそうで怖いが、今は確かにひとつ潰せたことを素直に喜んでおく。