連打について その2

セカンドチャンスを連打でなく押しっぱなしにするというアイデアを拝見いたしました。機材に依っては有益ですが、毒にもなる両刃の剣となる可能性があり、あんまり公開しちゃいけない考察だと思うので、まとめます(笑)

まずは、動画A。

続いて、動画B。

違いがわかりますか?

動画Aは押しっぱなしにすると、かならず「1番」が点灯します。
動画Bは点灯するのがランダムです。

この「ランダム」というのが問題で、早押し機のプログラム(設計の根幹)に関わりますので、一般論は言えません。あくまで、私の考えということでお話します。

以下は、あくまで私の機械の場合です。

早押し機の着差判定方法は、割り込みか、各端末にタイマーを設けるか、順次判断のいずれかになります。実は各端末にタイマーを設けるのが一番公平。つまり、物理的な「同着」はどうしても有りうるのです。オリンピックの水泳競技と同じです。

しかしながら、着差が殆ど無い場合が多い早押し機では、これではゲーム性が損なわれてしまいます。そこで、優先を付けた割り込みか順次判断にして絶対に同着を出さないというのが早押し機の基本性能ということになりますが、割り込み処理はマイコンの多大な能力を使うので20人も処理することは安価には不可能。そこでなるべく早い処理を行う順次処理を行うというのが最もやりやすい設計方針で、私もそれを採用しています。「早押し機の精度」「速度」というのは、この順次処理の速度ということができます。

つまり、リセットが押されてから1~20のボタンのON OFF判断を1/100000 のスピードで行う。これが私の早押し機の基本構造になっています。リセットが押されてから問読みが始まるので、どのタイミングで「押し」が起こるかは問題に依るランダムになり、公平性が担保されるというわけです。(今回の話とは全く関係ない仕掛けが実はありますが、それはまたの機会に)

そうです、なので全てのボタンが押しっぱなしになっているとすると、リセットを押したタイミングでどのボタンが光るか・・・・・。順次判断の1番目から始まるわけです。なので、「動画A」の様にボタン番号が早い方が絶対的に有利になります。99人の壁とかってどうなんだろう?誰かやってみてください。

私の機械では、これは予測されていることだったので(初期の制作過程でしくじった・・・)、現在では「動画B」の様に、どのボタンから着順判断が始まるかをランダムにしています。制作者側からすれば、たかがこのエラーのために、面倒な処理を組み込まなければならないという・・・・結構厄介な話なので、果たしてみんなコレやってるのかなぁと思う次第でありまして。押しっぱなしにしてスイッチ入れればすぐわかるんですけどね。

ただし、私の製品以外でそれをした場合、同着エラーが出て壊れても知りません(笑)

セカンドチャンス連打を避けるための連続押しは、機材に依るので開発者に問い合わせをしないとね・・・ということになりましょうか。

結論としては「連打」であればこの公平性が、一応は担保されるという形になるわけです。壊れるかどうかは別としてですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です