「10divide10」の得点表示の作り方
STUの3R・コース別の1つ、10divide10のルールを説明します。 試合開始時、得点は全員10pです。正解すると10pが加算され、N回目の誤答でポイントがN分の1倍になります(小数点は切り捨て)。すなわち、1回目の誤答はお咎めなし、ということです。 100p以上に達すれば勝ち抜け、0pになると失格となります。 形式名こそ by の対極ですが、「誤答で一気に点数が下がる」という点では アップダウン に似ているかもしれません。 しかし、アップダウンでは「1回目の誤答でリセット、2回目の誤答で失格」なのに対し、divideは「1回目の誤答は無罪、2回目の誤答以降大減点される。点数さえ1p以上を維持していれば何回誤答してもいい」ということで、誤答罰はやや軽いです。しかしそれゆえに、プレイヤーへの誤答の抑止力は弱く、つい何度も誤答を重ねてしまい、点数が延びなくなってしまうこともあります。 それでは、 基本⑤ の続きから作っていきます。 完成品は こちら です。 【作り方】 ①ポイント記録テーブルを作る N7:U56を選択し、格子を描きます。 次に、N6:U6(0問目=初期状態)の全ての範囲に「10」を入力します。 そして、N7セルに以下の数式を入力し、U56までオートフィルします。 =IF(D7="x",ROUNDDOWN(N6/COUNTIF(D$7:D7,"x"),0),N6+D7*10) この形式は誤答時の計算が特殊なので、誤答したかどうかをまずチェックします。誤答した場合は、(持っていたポイント)÷(この問題を含めてのこれまでの誤答回数)を小数点以下で切り捨てる処理を行います。 切り捨て処理ならば、以前 Swedish の作り方にも登場したROUNDDOWN関数の出番です。第1引数に数値、第2引数に小数第何位までを残すか指定します。今回は小数点以下は全て切り捨てるため、0を指定します。 一方、誤答していない場合は、1問前の得点に正解した場合は10pを加え、そうでない場合は加えないようにします。ここでは、正解時には正誤スルー記録セルに「1」が入力されるため、この数式できちんと動作します。 ②ルール設定を変える 勝ち抜け条件(N4セル)および失格条件(O4セル)を変えま...