戦国シミュレーションゲームをつくります。ただ普通のゲームでは面白くないので都道府県対抗の戦国シミュレーションゲームをつくります。

仕様は以下のとおり。

ゲームの仕様

プレイヤーは47都道府県(以下、「県」とする)のなかからひとつを選び、全国制覇を目指す。
戦国武将は各県の知事とする。
県には兵と兵糧、土地のパラメータが存在する。
兵数の初期状態は県庁の職員数、兵糧は米の生産量とする。
各県の米の生産量の10,000分の1とし、10月に土地のパラメータの10,000倍の兵糧が増えるものとする。
1ターンで1ヵ月が経過し、各県は[開発]、[徴兵]、[侵攻]ができる。
[開発]は県の土地のパラメータを1増加させる。
[徴兵]は県の兵員を1,000名増やすことができる。

侵攻について

[侵攻]はとなりの県に攻め込むことができる。
「となりの県」とは県境が陸で接している県、橋、トンネルでつながっている県である。ただしこれでは沖縄県が孤立するので、沖縄県は鹿児島と隣り合っているものとする。
[侵攻]すると侵攻された県の県庁は包囲される。

戦闘について

侵攻されている県にターンが回ってきた場合は、侵攻されている県、侵攻した軍の順に次の行動を指定できる。
侵攻されている県は[静観]と[反撃]のいずれかを選択できる。
侵攻されている県は[静観]した場合、県庁内にいる兵数の3倍の兵糧を消費する。ただしこれにより県庁内の兵糧がなくなってしまう場合は[反撃]一択となる。
[反撃]する場合は包囲軍との戦闘になる。戦闘はいずれか一方が全滅するまで継続される。

侵攻している軍は[静観]と[突入]のいずれかを選択できる。
侵攻している軍が[静観]した場合、兵数と同じ兵糧を消費する。ただしこれにより兵糧がなくなってしまう場合は[突入]一択となる。
[反撃]する場合は県庁内に立てこもる敵兵との戦闘になる。籠城戦は「城側が3倍有利」とする。

要は攻められたときは立て籠もったほうが有利だけど兵糧攻めされると厳しいよということ。

戦闘は侵攻側または守備側の全滅で決着するが、その場合、勝者は敗者の兵糧を奪取する。

データについて

ところで47都道府県の知事は以下のようになっています。

都道府県知事の一覧

都道府県 氏名
北海道 鈴木直道
青森県 宮下宗一郎
岩手県 達増拓也
宮城県 村井嘉浩
秋田県 佐竹敬久
山形県 吉村美栄子
福島県 内堀雅雄
茨城県 大井川和彦
栃木県 福田富一
群馬県 山本一太
埼玉県 大野元裕
千葉県 熊谷俊人
東京都 小池百合子
神奈川県 黒岩祐治
新潟県 花角英世
富山県 新田八朗
石川県 馳浩
福井県 杉本達治
山梨県 長崎幸太郎
長野県 阿部守一
岐阜県 古田肇
静岡県 川勝平太
愛知県 大村秀章
三重県 一見勝之
滋賀県 三日月大造
京都府 西脇隆俊
大阪府 吉村洋文
兵庫県 斎藤元彦
奈良県 山下真
和歌山県 岸本周平
鳥取県 平井伸治
島根県 丸山達也
岡山県 伊原木隆太
広島県 湯崎英彦
山口県 村岡嗣政
徳島県 後藤田正純
香川県 池田豊人
愛媛県 中村時広
高知県 浜田省司
福岡県 服部誠太郎
佐賀県 山口祥義
長崎県 大石賢吾
熊本県 蒲島郁夫
大分県 佐藤樹一郎
宮崎県 河野俊嗣
鹿児島県 塩田康一
沖縄県 玉城康裕(玉城デニー)

これは日本全国都道府県別の一般行政部門職員数です。職員数が多い順に並べています。

日本全国都道府県別の一般行政部門職員数(都道府県)が多いランキング一覧表(2021年度)

1 東京都 20,351
2 北海道 12,819
3 愛知県 8920
4 大阪府 7761
5 神奈川県 7670
6 福岡県 7565
7 千葉県 7548
8 埼玉県 7155
9 兵庫県 5929
10 静岡県 5709
11 福島県 5699
12 新潟県 5534
13 長野県 5136
14 鹿児島県 5008
15 宮城県 4990
16 茨城県 4847
17 広島県 4535
18 栃木県 4499
19 岩手県 4411
20 岐阜県 4400
21 三重県 4345
22 熊本県 4278
23 京都府 4104
24 山形県 4048
25 長崎県 4016
26 沖縄県 3981
27 群馬県 3945
28 大分県 3862
29 岡山県 3856
30 愛媛県 3831
31 青森県 3787
32 宮崎県 3763
33 山口県 3543
34 和歌山県 3529
35 高知県 3467
36 秋田県 3385
37 島根県 3307
38 滋賀県 3277
39 石川県 3272
40 富山県 3220
41 奈良県 3185
42 徳島県 3167
43 佐賀県 3079
44 山梨県 3018
45 鳥取県 2931
46 福井県 2886
47 香川県 2806

以下は米の都道府県別収穫量です。

米の都道府県別収穫量

都道府県名 収穫量
北海道 553,200
青森 235,200
岩手 247,600
宮城 326,500
秋田 456,500
山形 365,300
福島 317,300
茨城 319,200
栃木 270,300
群馬 72,300
埼玉 142,400
千葉 259,500
東京 484
神奈川 14,400
新潟 631,000
富山 197,400
石川 122,900
福井 121,000
山梨 25,500
長野 187,300
岐阜 100,800
静岡 76,400
愛知 130,800
三重 130,800
滋賀 151,700
京都 72,000
大阪 22,800
兵庫 177,000
奈良 43,900
和歌山 31,000
鳥取 62,200
島根 85,100
岡山 147,200
広島 114,500
山口 92,600
徳島 47,600
香川 55,700
愛媛 68,600
高知 49,700
福岡 164,000
佐賀 117,200
長崎 48,900
熊本 156,800
大分 93,200
宮崎 75,200
鹿児島 86,000
沖縄 1,920

ではデータがそろったところで作成していきましょう。

HTML部分

HTML部分を示します。

style.css

Kenクラスの定義

Kenクラスを定義します。コンストラクタの引数は県名、知事名、兵数、兵糧数です。SetJoin関数は県の連結を設定します。1回の呼び出しでAからBとBからAの両方の連結を設定します。

index.js

joinKens関数は第一引数の県と第二引数の県を連結させます。

initKens関数はKenオブジェクトを生成して配列に格納します。引数は上記の表から抽出したものです。

完全にネタゲーですが、次回に続きます。