報道の連鎖を数字で読む ― 怒り比率の計算
街が抗議を始めるのは、怒っている人が半分を超えたとき。コードの式は1行ですが、数える対象を間違えると答えが変わります。
01コードの式
第三幕の判定は、怒っている人の数と住人の数だけで決まります。叫ぶ怒った人を写すと、写したあとに怒りが4人増える前提で、次の比率を計算します。
比率 =(写真を撮った時点の怒っている人数 + 4)÷(住人の数 − 1)
分母から1を引くのは、写真を撮っている観察者を数から外すためだと読めます。ただしコードに説明はなく、住人の数に観察者が含まれているかどうかも明記されていません。このページの計算は、コードの式をそのまま写したものです。
023つの分岐
比率が出たあと、ゲームは3つの帯で見出しを変えます。0.75未満、0.75以上1.0未満、1.0以上。1.0以上になると、第四幕(殺人)へ進みます。
抗議する恋人たちが現れるのは、この判定とは別に、撮影後の街の怒り比率が0.5を超えたときです。コードのコメントには「MORE THAN 66%」と書かれていますが、実際の条件は0.5です。
| 比率 | 見出し | 次に起きること |
|---|---|---|
| 1.0以上 | EVERYONE HATES EVERYONE!!1! | 第四幕へ。殺人者の登場 |
| 0.75以上1.0未満 | ALMOST EVERYONE HATES EVERYONE... | 怒りが増えたまま第三幕継続 |
| 0.75未満 | SQUARES HATE CIRCLES または CIRCLES HATE SQUARES | 怒りが増えたまま第三幕継続 |
| 0.5超(別判定) | —(抗議する恋人たちが出現) | 抗議の写真が撮れるようになる |
03計算例
住人が20人、怒っている人が4人のときに、叫ぶ怒った人を写したとします。比率は(4+4)÷(20−1)=8÷19≒0.42。0.75未満なので、見出しは「SQUARES HATE CIRCLES」か「CIRCLES HATE SQUARES」になります。
怒っている人が6人なら(6+4)÷19=10÷19≒0.53。0.75未満のままですが、抗議の条件である0.5は超えるため、街に抗議する恋人たちが現れます。
怒っている人が15人なら(15+4)÷19=19÷19=1.0。ここで「EVERYONE HATES EVERYONE!!1!」になり、第四幕へ進みます。
- 4人から
- 8÷19 ≒ 0.42。見出しは憎しみの宣言、抗議は出ない
- 6人から
- 10÷19 ≒ 0.53。抗議が出る
- 11人から
- 15÷19 ≒ 0.79。almostEveryoneHates の帯に入る
- 15人から
- 19÷19 = 1.0。第四幕へ
04この計算の仮定
このページの計算は、次の仮定に立っています。住人の数は、写したあとに増減しないこと。写した怒った人が、写したあとも怒ったまま数えられること。そして分母の「−1」が観察者を指すこと。
実際のゲームでは、写真を撮るたびに観客が入れ替わり、パニックの前後で住人の種類も変わります。そのため、この式で出るのは「その瞬間の判定」であって、数枚先の展開を予測するものではありません。
数値はすべてコードから取っていますが、式の解釈には幅があります。断定的に読まず、条件の目安として使ってください。
05コードとコメントの食い違い
抗議の条件について、コードは「angryRatio>0.5」、コメントは「MORE THAN 66%」と書いています。0.5と0.66では、住人が20人の場合で怒りが10人必要か13人必要かという差になります。
当サイトはコードを優先し、0.5と書いています。コメントの66%は、過去のバージョンの名残か、書き間違いだと推測しますが、確認はできていません。
怒り 4 人・住人 20 人 → 比率 0.42。見出しは「CIRCLES HATE SQUARES」。
- 写したあとの怒り
- 8 人
- 比率
- 0.42
- 第四幕まで
- あと 11 人(怒り 15 人)
| 比率 | 起きること | 備考 |
|---|---|---|
| 1.0 以上 | EVERYONE HATES EVERYONE!!1! | 第四幕(殺人)へ |
| 0.75 以上 | ALMOST EVERYONE HATES EVERYONE... | 怒りが増えたまま第三幕 |
| 0.5 以上 | 抗議する恋人たちが出現 | 見出しとは別の判定 |
仮定:住人の数は撮影の前後で変わらない/写した怒った人は写したあとも怒ったまま数えられる/分母の「−1」は観察者を指す。 コードに説明はなく、この解釈は推測です。