公認を、無条件に奪っていた
同じ選挙区に同じ党の候補がいたら、コードは黙ってその人を降ろしていた。
党内influenceに出番を作ろうとして、そこに気づいた。
以前、「党内影響力」というパラメーターが一度も動かないまま放置されていた話を書いた。
あのあと「党の会合に出る」という行動を足して、数字自体は動くようになった。ところが今度は、動いた数字が何にも効いていなかった。伸ばした先にあるのは新党を立ち上げられるかどうかの判定だけで、それ以外の場面では相変わらず眠ったままだった。
型定義に書いたコメントを読み返して、少し気まずくなった。「党内影響力。公認・比例順位・ポスト争いに効く」。
どれも実装していない。書いた本人が、書いたきり忘れていた。
公認を奪っていたコード
公認から手をつけることにして、既存のコードを開いた。プレイヤーを選挙区の候補者名簿に差し込む処理は、こうなっていた。
同じ選挙区に同じ党の候補がいたら、その候補を配列から取り除く。そしてプレイヤーを入れる。
つまりプレイヤーは、党の公認を無条件に手に入れていた。相手が当選5回の現職だろうと、黙って降りてもらっていたわけだ。
これを争いにした。持ち点は当選回数・党内影響力・地盤・知名度、そして疑惑の多さ。当選回数の重みをいちばん大きく取った。党が現職を差し置いて新人を公認することは、まず無いからだ。
実装して動かしてみたら、新人で大政党を選んだ場合、ほぼ確実に公認が下りなくなった。
正しい挙動ではある。だが初めて遊ぶ人が何も知らずに大きな党を選び、いきなり無所属スタートになるのは、理不尽に見えるだろうと思った。
そこで、公認が下りなかったときに選択画面を挟むことにした。無所属でも出るか、出馬を見送って選挙区や政党を選び直すか。
無所属で出れば党の看板も組織も無く、比例への重複立候補もできず、手元の資金も薄くなる。それでも勝てば、党は追加公認して迎え入れる。負ければそのまま外に置かれる。
実際にそうやって党に戻ってくる議員がいることを思えば、この筋書きは書いていて楽しかった。
党首を逃すと、無役のままになっていた
次に作ったのが党内のポストだ。任期ごとに、部会長級から党三役、閣僚、そして党首へと昇っていく。就任すれば知名度と資金力が伸び、そのぶん健康を削られ、叩かれる隙も増える。ポストが次のポストを呼ぶ、という力学をそのまま数字にした。
最初の実装には、間の抜けた穴があった。
「いま狙える最上位のポスト」を1つ求めて、それに挑戦する。外れたらそこで終わり。この作りだと、党首に手が届くほど影響力を積んだ議員が、党首選に敗れた瞬間に無役へ落ちる。党首の椅子は1つしかないので、確率にして8割方はそうなる。
影響力を極めた議員ほど、任期の大半を無役で過ごす。積み上げた人ほど報われない仕組みになっていた。
上から順に降りながら挑戦する形に変えて、党首を逃しても閣僚や党三役の椅子は狙えるようにした。テストも書いて固定した。「党首の椅子を逃しても無役のままにはならない」という名前のテストだ。
もう一つ、留任のときに役職名を引き直していて、幹事長が任期をまたいで政調会長に化けるという珍事も起きた。乱数で表示名を決めるものは、状態として保存して使い回さないといけない。当たり前のことを、また一つ踏んだ。
※運営者が個人で書いているnoteです。