kiyo_hikoのブログ

メモ+日記?

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

○×を作った。


予想通り楽勝だった。
ただでさえ他の形式に比べて単純なうえ、土台はもう基底クラスで書いてあるからその上にGridBagLayoutで部品をペタペタ貼っていくだけの簡単なお仕事であった。
あとメンタルぶっ壊れぎみ、このところ仕事が忙しいのに評価最低でやる気だだ下がりなこともあって新規コードを書く意欲が湧かず、ほとんど過去に作った四択からコピペをやったし、それで用が足りてしまった。
なんだか上司が、おれが4年ぐらい前に書いたへっぽこなコードコピペして「読みやすいコード(笑)」とか寝言言って得意げになってるのも今ならわかる気がするよ…メンテナンスとか考えなけりゃとにかく頭使う必要もないし速いねこりゃ。

f:id:kiyo_hiko:20131020011831p:plain:w240

あとはやる気出次第、連想クイズに対応させる予定。
連想は他の形式と出題スレッドの描画が異なるのと、書式が中央揃えになるようにしたいので、出題パネルの周りをそこそこ書き換えなきゃいけなそう。
といっても一枚岩の出題パネルを置いていたところにCardLayoutな出題切り替えパネル置いて、そのパネルのカードに今までの出題パネルや連想出題パネルを登録するような改造になるので、JPanel派生クラスばんざいな感じでそんなに苦労はなさそう。呼び出しはsetQuizメソッドを呼んでいるので、これも委譲させれば良さげ。


あと線結びを改良して、線に装飾を入れた。

f:id:kiyo_hiko:20131020014551p:plain:w240

アンチエイリアシングを付けて線を複数重ねて、もやーっと光ってるような効果を入れてみた。アンチエイリアシングはGraphics2Dのレンダリングヒントを設定するといいらしい。

Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

それとOracleサイトにStrokeの説明があって読んだ。
Stroking and Filling Graphics Primitives (The Java™ Tutorials > 2D Graphics > Working with Geometry)


あと線結びの選択肢は問題データに4組以上登録しておいてもだいたい3組にカットして出題し、確率でまれに4組出すようにした。毎度4組しこしこ答えるのが結構めんどくさい。

てーきゅう

てーきゅう買ってきて読んだ。うけるこれ。今後も読もう。

クイズ

明日は全国大会最終日なので多分クイズやって終わると思う。