kiyo_hikoのブログ

メモ+日記?

Javaでクイズ暗記ツール作成(16)

久々に着手。線結びを作っている。
こういうの↓


線結びその5 - YouTube


なんとなく線結びは難しそうなのであと回しにしていたけど、やっぱりめんどくさかった。
とくに一度結んだやつを別の選択肢に結び直す処理が幾分(25分ぐらい)苦戦した。


まずフォーマット:

{
@@sen
@@split
@@ri
@@kentei(宇宙・天文)
次の「おおぐま座」の星とそのバイエル記号での名前の正しい組み合わせを選びなさい

      • -

ドゥーべ := おおぐま座α星
メラク := おおぐま座β星
フェクダ := おおぐま座γ星
}

こんな感じで。「:=」を境に、本家と同じく左と右を線で繋いで回答する。
「:=」は問題文中にまず出てこなさそうなトークンで、ある程度馴染みのあるものを選んだら、プログラミング言語Pr○logのネック記号になっていた。
あと注釈記号とかは他の形式と一緒。
それから「++++」行以降に備考を書けるようにしてみた。上にはないけど。


で、Quizクラスを継承してSenクラスを書いて、回答用にSenConsoleクラスを書いた。
結果できたのがこれ。

f:id:kiyo_hiko:20131014224310p:plain:w240

冒頭で書いたとおり線の結び直しに対応したので、例えばメラクをγ星につなげるとトゥーベとγ星の線は勝手に消える。この辺はカスタムコンポーネントを何種類か作って対応した。
ここまでで精魂尽き果てたので、続きはまた明日あたりにやってきよツール本体に組み込むと思う。


そういえば今後の展望としては眺めてるだけでいい再生機能がほしいかもれない。


あとは線結び問題をたくさん公開して下さってるサイト探さなきゃ。
あるいはカメラ買って自分で回収するか…。

クイズ

やってない。全国大会は来週?あたりまで続くと思うのでゆっくりやりたい。