日記/2017-10-02 の変更点

お名前:

#author("2017-10-02T21:18:48+09:00","default:editor","editor")
**雑記:トレジャーハントの解読アルゴリズム指定 [#r45d57ef]

年に1回のイベントに、どこまで事前準備しとくんだ、という話ですが。~
友瀬も公開している[[解析ツール>トレジャーハント]]の仕組みについて、要考察なので。

トレジャーハントは、NPCから出されたヒントを座標に変換。~
その座標に移動してボーナスを得る、というようなイベントです。~
ヒントのルールは毎年3パターン前後あり、かつ多少変化している、というのが実情です。~
ここで問題視すべきは、現状この「ルール」をツールが自動判定している、ということです。
#region(→続きを読む。)

***何を気にしているのか [#vfba19dd]
自動判定が成り立つのは、ヒント文字列を見ればどういうルールかが予想できるからです。~
例えば『ぬあふ』というような日本語があれば、『キーボードの当該かなキーで入力できる数字』です。~
例えば『CLXVI』があれば、ローマ数字指定です。~
例えば『0〜9、ABCDE』があれば、15進数指定です。

逆に言うと、ヒント文字列だけでは判断できない場合、ユーザからルール指定してもらわないとならない:
上記予想方法をみればわかりますが、『C』だけだとローマ数字と15進法の区別がつかない。~
だから例えばヒントが『C CC』だと、これだけでは判断できないわけです。

ちなみにヒント『C CC』は、ローマ方式だと(100,200)、15進方式だと (12,192)です。

[[友瀬のブラウザアプリ>トレジャーハント]]では、この様な場合15進方式判定しています。~
つまりもし、ゲームから『ローマ方式で C CC』と指定された場合、友瀬のアプリではダメなわけです。~
前回のハントで問題にならなかったのは、ゲーム内の対象座標が『たまたま区別できる』位置だっただけに過ぎません。

***じゃあどうするか。 [#v30b2068]
もやっと案を考えています。

''案1:ラジオボタンで、ルール指定してもらうって「処理開始」ボタンでスタート。''~
→わかりやすいが、毎回ルール指定が必要==2ストロークになるので、利用者の手間が大きい。

''案2:処理開始ボタンを「15進」「ローマ数字」「かな」というようにルールごとに準備して、対応するボタンを押してもらう。''~
→ワンタッチでよいので案1よりも手間は少ないが、やっぱり毎回ルールを意識しなければならないのが負荷。

''案3:処理開始ボタンを「自動判定」と「15進」「ローマ数字」「かな」というように、増やす。''~
→だいぶいい。利用者は基本「自動判定」で実施、微妙なヒントだったら「直接ルール指定」すればいい。つまり「たまに意識すればいい」ことになる。
→ただしメンテナンスが面倒。ルールが変わるたびにボタン増減しないとならない。

''案4:処理開始ボタンを「自動判定」「逆優先度」の2つにする:「逆順」すれば、違うルールが「自動判定」される。''~
→使い勝手は多少落ちる。~
利用者は「自動判定」で試して、期待しないルールだったら「逆順」で再実行しないとならない。
→メンテ性は上がる。~
ルールがどう変わろうが、UIは変わらない。

''案5:現状と同じ「自動判定」だけ。内部の優先度を書き換えて対応する。''~
→『別ルール・同ヒント』が1回のイベントに同時にでないことを前提とした作戦。~
『C CC』なら必ず『ローマ数字扱い』とするような話ね。


正直、案5で十分なような気はしているんですが。~
万一『C CC』ならローマ数字、『CC C』なら15進、みたいなことをやられると対処できないので。~
手間を考えて、案4にしようかな、と考えてます。

----
ご意見などがあれば。
#comment2(below)

#endregion