まるばつなでしこまたきて国試

国試がまたきたらヤバいのでは
0
ドロドロセレックス @p_cyclase

いつまでもなでしこで遊んでいるわけにはいかないので、なでしこで簡単なまるばつ問題そふとをつくるのを実況するぞ。

2015-06-11 12:35:11
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss01.txt まずはUIだ。てきとうにつくる。このようにかく。 実行結果はこんなかんじ。 pic.twitter.com/qs4fYNXUjV

2015-06-11 12:41:14
拡大
ドロドロセレックス @p_cyclase

ざつに○×問題をエクセルでざつにつくってCSV形式で保存。 1列目はあとで使うのであけておく pic.twitter.com/6pmpqAY86o

2015-06-11 12:52:15
拡大
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss02.txt さきの.csvを読み込んでCSV取得(二次元配列に変換)してみます ためしに1問目の問題文と解説文も表示してみる あ、ラベル部品めんどくさかったんでスクロールバーなしのメモにしました

2015-06-11 13:01:23
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss03.txt 「出題」という関数をつくり、その中に「今の問題番号(現問題)を決定して問題文を表示」みたいな内容を書きました 本体部分の最後で呼び出すとランダムに問題が表示されてぐっとまるばつソフトっぽく pic.twitter.com/Fn7wthLMdz

2015-06-11 13:09:25
拡大
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss04.txt おなじように関数「答え合わせ」を作りました。 ○ボタンをクリックしたときは「○」、×ボタンをクリックした時は「×」が引数として関数「答え合わせ」に渡されて一時変数「答え」に格納され、 答えが現問題の答えと一致すれば正解です。

2015-06-11 13:18:16
ドロドロセレックス @p_cyclase

せいかい・まちがいは背景色で表現してみました。めにいたい。 pic.twitter.com/56cJmi5L2N

2015-06-11 13:18:42
拡大
ドロドロセレックス @p_cyclase

しかしこのままだと1回の起動につき1回きりです。しょんもりです。

2015-06-11 13:22:24
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss05.txt なのでこうです。 まるばつボタンがあるのと同じ場所にあらたに次へボタンを作り、押すと出題するようにします。 出題しているときと答え合わせをしているときで可視/不可視を切り替えます。 ついでに出題時に背景と解説文もリセットするように。

2015-06-11 13:24:50
ドロドロセレックス @p_cyclase

これで無限にマルバツクイズに答え続けられるよ! やったねたえちゃん! pic.twitter.com/dRMmVuyDck

2015-06-11 13:26:15
拡大
ドロドロセレックス @p_cyclase

じっけんおわったらつづくかも

2015-06-11 13:29:00
ドロドロセレックス @p_cyclase

ひたすらまるばつしつづけるのはむなしいので、正解数を記録してみます。 問題.csvのほうの1列目にこんな感じで正解数(この時点ではぜろ)を入れ pic.twitter.com/vWsQMKX8jm

2015-06-11 14:13:33
拡大
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss06.txt 本体への追加は計3行だけ。 答え合わせで正解だったときに二次元配列「問題」の内容を書き換え(現在の問題の正答数を+1) 母艦(メインフォームですね)を閉じたときに「問題.csv」に上書き保存するようにしています。

2015-06-11 14:15:53
ドロドロセレックス @p_cyclase

こんなかんじで正答数が記録されるようになった。やったぜ。 pic.twitter.com/eM2ajny42T

2015-06-11 14:19:57
拡大
ドロドロセレックス @p_cyclase

問題文のファイル自体を毎回かきかえてると一回保存ミスしたらまるごと吹っ飛ぶじゃんというのはあるのですが、こうやって管理してると、正解数を保持したままエクセルで問題追加とかできるしそれはそれでべんり。バックアップは手動でとろう

2015-06-11 14:20:58
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss06.txt せっかく正解数を記録したので、「苦手チェック」なる関数をつくってみました。

2015-06-11 14:31:06
ドロドロセレックス @p_cyclase

●苦手チェック 正解数最少は問題[0][0]+1 問題を反復 もし、対象[0]<正解数最少ならば 苦手問題は回数-1 正解数最少は対象[0] 違えばもし、対象[0]=正解数最少ならば 苦手問題に回数-1を配列追加 戻る //こういう内容ですね。

2015-06-11 14:31:22
ドロドロセレックス @p_cyclase

基本的には、「苦手問題」という配列を用意して、二次元配列「問題」を反復してます。 「問題」を1行ずつ見ていって、その正解数がその時点での「正解数最少」より小さかったら、それまでの「苦手問題」リストを全てうっちゃって新しくその行番号を入れ、「正解数最少」を変更する。

2015-06-11 14:35:02
ドロドロセレックス @p_cyclase

その行の問題の正解数と「正解数最少」が等しかったら、前のを消さずに追加する。 正解数最少の初期値は最初の行の正解数+1にしてます。これで1行目ではかならず前者の処理が行われる。 そんで、正解数が最も少ない問題の行番号のリスト「苦手問題」がつくられます。

2015-06-11 14:36:27
ドロドロセレックス @p_cyclase

0 3 4 5 6 9 11 12 14 16 17 18 19 22 苦手問題の中身はこんなかんじになるわけです。

2015-06-11 14:40:11
ドロドロセレックス @p_cyclase

mogmog.tiyogami.com/cycloss08.txt せっかく苦手問題リストを作ったので、苦手問題から出題していく機能を作ったのがこちら。

2015-06-11 14:45:05
ドロドロセレックス @p_cyclase

苦手チェック 苦手フラグはオン 出題 //出題する部分がこんな感じになってます。出題する前に苦手チェックして、「苦手フラグ」という変数をオンにしてます。 //あ、あと、苦手チェックの最後で配列をランダムにシャッフルするようにしてもいます。

2015-06-11 14:46:22
ドロドロセレックス @p_cyclase

もし、苦手フラグがオンならば 現問題は苦手問題[0] 苦手問題の0を配列削除 もし、苦手問題が空ならば 苦手チェック 違えば 現問題は乱数(問題の要素数) //関数「出題」のおもなへんこうてんはこちら。

2015-06-11 14:47:01
ドロドロセレックス @p_cyclase

苦手フラグがオンのとき、現問題の番号を苦手問題リストの一番上から持ってきて、ついでにもってきたやつを削除します。これを繰り返せば、苦手問題が順番に出されていくはずです。 もし、苦手問題が空になってしまったら、あらたに苦手チェックをやり直します。

2015-06-11 14:48:16