TOY VOX

管理人VOX6336が昭和レトロな遊びをするだけのブログです。スマートフォンでの閲覧推奨。

戦国大名12

2025-03-30 23:10:03 |  戦略シミュレーション
テストプレイ。中立勢力発生状況は、讃岐0,0、伊予10,0、阿波5,0、土佐0,0。


調略フェイズ。讃岐に金1を掛ける。持ち金は19となった。


勢力圏決定フェイズ。讃岐が部分支配、土佐が完全支配となった。
徴税フェイズ。讃岐から金2、土佐から金6を徴税し、持ち金は27となった。


行軍フェイズ。長宗我部元親は兵力3をひきいて阿波へ攻め込んだ。


築城フェイズ。長宗我部元親は阿波で築城を行うこととした。ここで「Undefined label」エラーが発生。


どうやら修正が必要なようだ。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

戦国大名11

2025-03-30 14:28:43 |  戦略シミュレーション
再編成フェイズ。
オリジナルのルールではこのとき手持ちの兵力を支配国に自由に配置することが出来る。つまり(ゲームのテクニックとして)費用を掛けずに移動することが出来る訳だ。
これをPCでやると、わざわざ全兵力の配置を入力するのが面倒くさいので、今回はこのルールを無視する。
先ずは勢力圏決定フェイズのプログラムを修正して、総石高を割り出す。部分支配であれば、石高×0.5、完全支配であれば石高×1で4か国の合計を出す。


兵力が総石高を上回っていた場合、1兵力につき金1を支払う。武将がいる国では1兵力につき金1を支払って徴兵を行うことが出来る。
ターン数を更新してメインルーチンの最初へ戻る。このとき10ターンが終わっていればゲームを終了する。

勢力圏決定フェイズのプログラムを修正。総石高が26であれば、4か国統一となり、ゲームを終了する。

これで一応、「戦国大名」のプログラムが完成した。後はテストプレイをして、さらにコンピューターの思考ルーチンを作ってみたい。




コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

戦国大名10

2025-03-23 19:40:12 |  戦略シミュレーション
修正。移動先を入力時、隣接以外には反応しないようにプログラムを書き加えた。


合戦フェイズのプログラムはシナリオ1「四国統一」ではほぼ使うことが無いので、後回しにする。同様に第2行軍フェイズ、第2合戦フェイズも後回しにする。

築城フェイズ。武将のいる国で金(10-武将の内政値)を支払えば城の規模を+5とすることが出来る。上限は30。

実行画面。最初の持ち金は20。土佐を部分支配。徴税で金+3。伊予へ兵力3を移動し、金-5。内政値3の長宗我部元親が伊予で築城し、金-7。結果、伊予の城は5、持ち金は11となる。


どうやら正常に作動しているようだ。



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

戦国大名9

2025-03-23 16:54:46 |  戦略シミュレーション
移動サブルーチン。移動する兵力を入力、Aとする。隣接国の情報をBに代入して(配列変数に配列変数は入らないので)、国名を表示する。移動先を入力、Cとする。移動にかかる費用は兵力を5で割って端数を切り上げたものceil(a/5)となる。移動先が支配国外であればその5倍を支払う。


実行画面。不具合内容:移動した先が支配国外であってもさらに移動できてしまう。

修正。移動先が支配国外であればフラグEを立てる。メインルーチンでE=1であれば次のフェイズへ進む。


実行画面。土佐から伊予へ3兵力を移動し、金5を支払った。


どうやら正常に作動しているようだ。





コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

戦国大名8

2025-03-22 19:08:02 |  戦略シミュレーション
第1移動フェイズ。武将の率いる兵力は移動することができる。移動距離に制限は無いが、支配国から出たらそこから先へ進むことは出来ない。
オリジナルのルールでは移動距離に関係無く、支配国までの移動は兵力5を単位として金1、支配国外までの移動は金5が掛かる。例えば支配国外まで7兵力を移動した場合は金10というように。
今回はハウスルールとして、支配国までの移動は兵力5を単位として移動1国あたり金1、支配国外までの移動は金5が掛かるものとする。例えば支配2国を通過して支配国外まで7兵力を移動した場合は金14というように。
メインルーチンに「@フェイズ5」を追加。移動しない場合は「@フェイズ6」へ進む。移動する場合は「@移動」サブルーチンへ飛ぶ。停止するまで同じ手順をくりかえすため、「@フェイズ5」へ戻る。


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする