何を気にしているのか†
自動判定が成り立つのは、ヒント文字列を見ればどういうルールかが予想できるからです。
例えば『ぬあふ』というような日本語があれば、『キーボードの当該かなキーで入力できる数字』です。
例えば『CLXVI』があれば、ローマ数字指定です。
例えば『0〜9、ABCDE』があれば、15進数指定です。
逆に言うと、ヒント文字列だけでは判断できない場合、ユーザからルール指定してもらわないとならない:
上記予想方法をみればわかりますが、『C』だけだとローマ数字と15進法の区別がつかない。
だから例えばヒントが『C CC』だと、これだけでは判断できないわけです。
ちなみにヒント『C CC』は、ローマ方式だと(100,200)、15進方式だと (12,192)です。
友瀬のブラウザアプリでは、この様な場合15進方式判定しています。
つまりもし、ゲームから『ローマ方式で C CC』と指定された場合、友瀬のアプリではダメなわけです。
前回のハントで問題にならなかったのは、ゲーム内の対象座標が『たまたま区別できる』位置だっただけに過ぎません。
じゃあどうするか。†
もやっと案を考えています。
案1:ラジオボタンで、ルール指定してもらうって「処理開始」ボタンでスタート。
→わかりやすいが、毎回ルール指定が必要==2ストロークになるので、利用者の手間が大きい。
案2:処理開始ボタンを「15進」「ローマ数字」「かな」というようにルールごとに準備して、対応するボタンを押してもらう。
→ワンタッチでよいので案1よりも手間は少ないが、やっぱり毎回ルールを意識しなければならないのが負荷。
案3:処理開始ボタンを「自動判定」と「15進」「ローマ数字」「かな」というように、増やす。
→だいぶいい。利用者は基本「自動判定」で実施、微妙なヒントだったら「直接ルール指定」すればいい。つまり「たまに意識すればいい」ことになる。
→ただしメンテナンスが面倒。ルールが変わるたびにボタン増減しないとならない。
案4:処理開始ボタンを「自動判定」「逆優先度」の2つにする:「逆順」すれば、違うルールが「自動判定」される。
→使い勝手は多少落ちる。
利用者は「自動判定」で試して、期待しないルールだったら「逆順」で再実行しないとならない。
→メンテ性は上がる。
ルールがどう変わろうが、UIは変わらない。
案5:現状と同じ「自動判定」だけ。内部の優先度を書き換えて対応する。
→『別ルール・同ヒント』が1回のイベントに同時にでないことを前提とした作戦。
『C CC』なら必ず『ローマ数字扱い』とするような話ね。
正直、案5で十分なような気はしているんですが。
万一『C CC』ならローマ数字、『CC C』なら15進、みたいなことをやられると対処できないので。
手間を考えて、案4にしようかな、と考えてます。
ご意見などがあれば。