「運命の13階段!!~天翔るツーマンセル~」の得点表示の作り方

このルールは、漫画『ナナマル サンバツ』に登場する大会「SQUARE」の関東大会決勝で行われた形式です。

プレイヤーは8チーム。
また、「スタート」、「1」、…、「13(ゴール)」の全14マスがあるボードを使います。
最初は全チーム「スタート」マスからスタートし、13マス目のゴールまで進めば勝利となります。ただし、スタートマスとゴールマス以外の12マスは、それぞれ1チームずつしか入ることができません。
早押しクイズに正解すると、「今そのチームから見て最も近い上位の空きマス」に移動します。すなわち、自分の手前に連続して3チームいる状態で正解した場合、一気に4マス進むことができるわけです。
誤答すると、逆に「今そのチームから見て最も近い下位の空きマス」に移動します。誤答したチームの1つ後ろのマスが空いていた場合は1段下降で済みますが、集団で固まっている状態で誤答すると、急転直下という事態になってしまいます。



この他にも「1問正解ごとに、解答席につくメンバーが2人入れ替わる」「エンドレスチャンス制」といったルールがありますが、得点表示の面では関係ないことなので、今回はあまり考えないことにします。

それでは、【基本⑤】の続きから作っていきます。
完成品はこちらです。

【作り方】

①位置記録テーブル・空席状態記録テーブルを作る

オレンジ色の設定マスは次の通りです。
勝ち抜け(N4セル):13
失格(O4セル):絶対に失格しない程度の適当な値(今回は99)


今回は2つのテーブルを作ります。

N~U列は、各プレイヤーのいるマスの位置を記録するテーブルです。
W~AJ列は、各マスが空いているかどうか(そこにプレイヤーが来ることができるか)を記録するテーブルです。それぞれの行が、それぞれのマス(スタートの0~ゴールの13)に対応しており、空いているならば、そのマスの番号が表示されます。誰かがいるならば、何も表示されません。

また、N~U列の、0問目にあたる6行目の一つ上、5行目に、「現時点での各プレイヤーの座席位置」が表示されるようになっています。OFFSET関数を使ったシンプルなものです。
W~AJ列の5行目には、それぞれ0から13の数字が入力されています。

それでは、数式を入れていきましょう。

まずは0問目(6行目)です。
位置記録テーブル(N6からU6まで)には、全て0を入力してください。
空席状態記録テーブル(W6からAJ6まで)には、それぞれ5行目に入力した数字をそのまま参照させます。すなわち、W6セルには「=W5」と入力し、それをAJ6セルまでオートフィルするだけです。

続いて1問目(7行目)以降です。

空席状態記録テーブル(W~AJ列)

まず、スタートの0マス目(W列)とゴールの13マス目(AJ列)は、何チームでもいることができます。そのため、「常に空きがある」とみなすことができます。
そのため、この2つの列に関しては、常に、それぞれ「0」と「13」が表示されている必要があります。

続いて、1マス目(X列)から12マス目(AI列)までです。
X7セルに以下の数式を入力し、AI56セルまでオートフィルします。

=IF(COUNTIF($N7:$U7,X$5)>0,"",X$5)


N~U列の1行をCOUNTIF関数でチェックして、自分のマス(5行目に入力した数値)に誰かがいたら、""を返します。つまり何も表示させないということです。
誰もいないなら、そのマスの番号を返します。

位置記録テーブル(N~U列)

N7セルに以下の数式を入力し、U56セルまでオートフィルします。

=IF(D7=1,MIN(OFFSET($W6,0,N6+1,1,13-N6)),IF(D7="x",MAX(OFFSET($W6,0,0,1,N6+1)),N6))

まず、正解したら、「自分の今いる位置よりも上の領域の中で、自分から最も近い空席」に移動するわけですから、OFFSET関数でまず、「自分の今いる位置よりも上の領域」を選択します。その中で、最も「自分から最も近い空席」は、MIN関数を使えばいいわけですね。空いている席のみが表示されていますから、誰かのいる席は除外されます。
誤答した場合はその逆で、「自分の今いる位置よりも下の領域の中で、自分から最も近い空席」に移動するわけです。OFFSET関数で「自分の今いる位置よりも下の領域」を選択する際、正解時と指定する引数が少し異なる点に注意してください。

②得点表示セルの設定を変える

4行目の得点表示セルには、各プレイヤーの今いるマスを表示します。
今回はN5~U5に表示させたので、これを経由すれば書き換えは簡単に行えます。

(D4セルの場合)
=IF(N5>=$N$4,"WIN",IF(COUNTIF(D7:D56,"x")>=$O$4,"LOSE",N5))

正直な話、今回は5行目の誤答数表示セルはなくても構いません。


2ステップだけですが、今回はこれで一応完成です。
それでは、動かしてみましょう。

まず、3枠の人が正解します。

続いて、別の人、例えば5枠の人が正解すると…

3枠のいる1マス目を飛び越え、2マス目に到達しました。

別の例。
例えば、4人が固まっている状態で、

2マス目にいる5枠の人が正解すると、
一気に5マス目まで上がることが出来ます。

続いて誤答の例を見せます。
このような状態のとき、
3~7マス目の集団が形成されています。
このような場合、その集団に属する5人とも、誤答すれば2マス目に落ちてしまいます(下の画像は、6マス目にいる3枠の人が誤答した場合)。


・・・さて、「ルール通りに動くもの」は作れました。
しかし、これでは少々見づらいですね。
「マス目」とか「プレイヤーの位置」というのが重要なのに、これでは「正解したらどこに行けるか」「誤答したらどこまで下がるか」がわかりづらいです。

なので、やはりすごろくのようなマスを作って正解・誤答のたびにプレイヤーが移動するような表示があるといいですね。

それはまた今度の機会に。もしくはみなさまへの宿題。

コメント

このブログの人気の投稿

基本①:「m○n×クイズ」の得点表示の作り方

参加者の苗字と名前を分離する/選手名を均等な大きさで表示する

勝ち抜け時に順位を表示する