きよツール:GW以降からの改良点と残件
某クイズゲー攻略用に制作している自習ツール「きよツール」を、GWでそれなりに改良したのでメモル
できたこと
クイズデータのファイル名が固定だったのを可変にした
quizdataというフォルダーに所定のフォーマットで入っていれば、ファイル名と個数はなんでもいいようになった。だからジャンルでファイル分けるとかも自由だし、他人が作ったファイルでもkqf(kiyotool-quiz-format)というおれ定義の形式でさえあればいい。quizdataに放り込めばとにかく読み込んで出題するようになった。
パッケージ階層とかクラス名がいまいちだったので見直し
基本的に各クイズ形式は、きよツール本体の追加要素(コアクラスを2クラス継承しただけ)にすぎないので1パッケージにまとめた。
いろいろ見直した。
音声ファイルの外部化
単にwavファイルを外出しした。
クイズローダーの例外対策
を行った。と言ってもkqfがエラっていた場合に警告を吐いてそのファイルの読み込みを諦めて次に進むだけ。
課題残件と新たに見つかった課題
ビルドにオブファスケーターをまだ組み込んでない
なにか組み込む。
自動再生モードの見直し
単に手動で問題を解いているのと同じことを別スレッド立てて実行しているけど、正直これはいまいちという感想しか湧かなかった。
あとこれはいままで単にブール値で解答パネルを設定していたのがダメなだけだが、常に正解!になってるのも正直ダサい↓
なので、回答用領域(AnswerPanelというクラスを置いている)にAutoPlayConsoleというクラスを置くような設計にする。ここにはボタン等を一切置かず、回答の表示だけを行う感じになる。
それと、25問固定リピート再生機能を付ける予定。
手元に自前で収集した問題、Jsoupなどでかき集めた問題で計3万問ぐらいのクイズデータがあるが、そんなのただ眺めても覚えないし、プログラムリピートは必須であろう。
タイピング形式とグループ分け形式対応
どちらもなんとなく設計が浮かんできた。特にローマ字かな変換についてはそのうち別エントリーを起こすかもしれないが、たぶん内部的に未変換部分と変換済み部分を持ち、タイプされるごとにそれらのフィールドを更新する変換中文字列クラスを作ればいけるんじゃないかと思っている。余裕があれば形にする。
スキン対応
画面の配色と、できれば背景に壁紙を透過表示させたい。