!!! ヘッダファイル・ソースファイルから参照するもの
'''' ・proto.h ''''
||ganchan.character
キャラクター構造体 | int turn
int knowledge | ターン数
学力
|| void tyukan(GtkWidget *) | GtkWidget *quiz0(GtkWidget *)
GtkWidget *quiz1(GtkWidget *)
GtkWidget *Ans1(GtkWidget *)
GtkWidget *quiz2(GtkWidget *)
GtkWidget *Ans2(GtkWidget *)
GtkWidget *quiz3(GtkWidget *)
GtkWidget *Ans3(GtkWidget *)
GtkWidget *quiz4(GtkWidget *)
GtkWidget *Ans4(GtkWidget *)
GtkWidget *quiz5(GtkWidget *)
GtkWidget *Ans5(GtkWidget *) | はじめの画面
第1問
正誤判定1
第2問
正誤判定2
第3問
正誤判定3
第4問
正誤判定4
第5問
正誤判定5
|| void tyukan(GtkWidget *) |void cb_mouse_perfect_press | 中間クイズモジュールのマウスクリック
|| static gboolean
cb_mouse_press | module = 4 | 4のマウス遷移を使う
'''' ・ ~/material/quiz/kimatsu ''''
||tyukan.png | 最初の画面の画像
||mondai1.png | 問題No.1
||mondai2.png | 問題No.2
||mondai3.png | 問題No.3
||mondai4.png | 問題No.4
||mondai5.png | 問題No.5
||mondai6.png | 問題No.6
||mondai7.png | 問題No.7
||mondai8.png | 問題No.8
||mondai9.png | 問題No.9
||mondai10.png | 問題No.10
||mondai11.png | 問題No.11
||mondai12.png | 問題No.12
||mondai13.png | 問題No.13
||mondai14.png | 問題No.14
||mondai15.png | 問題No.15
'''' 難易度 ''''
||mondai1.png | 難しい
||mondai4.png | 難しい
||mondai5.png | 難しい
||mondai6.png | 難しい
||mondai12.png | 難しい
||mondai13.png | 難しい
||mondai2.png | 簡単
||mondai3.png | 簡単
||mondai7.png | 簡単
||mondai8.png | 簡単
||mondai9.png | 簡単
||mondai10.png | 簡単
||mondai11.png | 簡単
||mondai14.png | 簡単
||mondai15.png | 簡単
'''' ・ ~/material/quiz ''''
||qa1.png | 正解の時の画像
||qa2.png | 不正解の時の画像
''''・music.h''''
効果音(BGM)やクリック音を再生するためのファイル。start_musicには .mp3形式のBGMが入っており、start_seには .wav形式のクリック音が入っている。
'''' ・ ~/material/quiz/bgm ''''
||quiz.mp3 | 中間クイズの時のBGM
'''' ・ ~/material/se ''''
||bottun.wav | クリック音
!!! 説明
*動作は全てクリックで行う
*出題は全5問
*6月下旬(ターン13)で中間クイズが始まるので、play.c に ganchan.turn == 13 のときに中間クイズモジュールに遷移できるように設定してある
*クリックの範囲が初めの画面、出題画面、正解画面、不正解画面で異なるので 変数 n を1〜3で設定しそれぞれの画面に対応している
*``quiz0 ``はクイズの初めの画面なのでクリックの範囲は n = 1
*難易度は、学力(ganchan.knowledge)の値で決め、学力が30以上のときは簡単な問題で、30未満のときは難しい問題となる
**``int m, g ``のうち m に学力の値、g で難易度の分岐をしている
**難易度の分岐は ``quiz1 quiz2 quiz3 quiz4 quiz5 ``の全てで行っている
**15問中、難しい6問・簡単9問
*クイズはランダムで出題されているが、``GetRandom() ``で乱数にされたもののうち、一番上にあるものを表示している。このとき、``quiz1 quiz2 quiz3 quiz4 quiz5 ``でそれぞれ ``GetRandom() ``を行い、Do〜While を使って問題が被らないようにしている
**``quiz1 quiz2 quiz3 quiz4 quiz5 ``のクリックの範囲は n = 2
**マウスのクリックの範囲は選択肢の3種類。それぞれ1,2,3の値を持つ
**``GetRandom() ``は``event.c ``で定義している
*正誤判定は、クリックの範囲の1,2,3で、その値が正解かどうか判定する
**``Ans1 Ans2 Ans3 Ans4 Ans5 ``のクリックの範囲は、正解の時 n = 3、不正解の時 n = 4
**正解のときは変数 ``sinka`` に1を加え、不正解のときは0を加える
*終わりに
**キャラクターの進化に関する変数`` ganchan.seikai ``に ``sinka ``の値を入れる
**ターン14に移るために`` ganchan.turn ``をプラス1する