きよツール:新形式対応の設計メモ
某マジアカゲー、久々に廃人化できそうなモードに出会ったので、プレイしながら自作マジアカ暗記支援ソフト「きよツール」を新形式 (グループ分け) 形式に対応させる方針について考えていた。
ちなみに現状対応済みの形式は、
○×、四択、連想、並べ替え、パネル、スロット、順当て、線結び、多答
作りかけで放棄してるのは
タイピング
- アルファベット→ローマ字変換が鬼門でやってない
キューブ
とりあえずタイピング・キューブは鬼門すぎるのでまた先延ばし。
グループ分け形式に対応するための設計を考えてみる
多分JToggleButtonかJRadioButtonを並べて1行ごとにButtonGroupに卵とじすればいいのだが、問題はグループが2~3個(4個)で可変であるというのが若干くせもので、これは多分Groupクラスを作って対応しないといけない。
Groupクラス
- -String name
- -List
elts (elementsのabbreviationのつもり) - +bookean contains
- +show
クイズフォーマットとしては、
{ @@group 山脈を大陸ごとに ---- アフリカ :- ドラケンスバーグ山脈,アトラス山脈 南極 :- エルスワース山脈 北米 :- シエラネバダ山脈,ブルーリッジ山脈 }
にする。
動作としては、
出題するときは読み込んだテキスト行ごとにGroupをインスタンス化して、showメソッドを走らせる。レイアウトマネジャーはたぶんGridLayoutでいいかな。本家見たく凝った見た目にはできないので、見た目はたぶんブロック崩しの上部にあるあれみたいな感じになるはず。
回答してOK押したら基底クラスから継承したverifyメソッドを走らせて、GroupごとButtonGroupごとにcontainsメソッドを逐次実行して、全部つじつまが合えば正解みたいな。
とりあえずビルドの勉強するので実装はいったんリリースしてからになる予定。
Antでjavacタスクにencoding=UTF-8指定をしてるけどUTF-8Nの問題テキストを読み込むと文字化けして困っている。