2015 ソフトウェア設計及び演習用の班Wiki
gr11::プロトタイププログラム
/* image-viewer.c */ #include <gtk/gtk.h> #include <glib.h> #include <stdlib.h> #include "gtk_lib.h" /* 並べるWidgetの総数 */ #define MAX_WIDGET 7 /* 横方向に並べる最大数,残りは次の行 */ #define MAX_HBOX 1 GtkWidget * start(GtkWidget *); //スタート画面 GtkWidget * play(GtkWidget *); //プレイ画面 GtkWidget * mondai(GtkWidget *); //問題開始画面 GtkWidget * mondai2(GtkWidget *); //選択肢が2つになる問題画面 GtkWidget * mondai4(GtkWidget *); //選択肢が4つ(普通) GtkWidget * seikai(GtkWidget *); //正解画面 GtkWidget * huseikai(GtkWidget *); //不正解画面 GtkWidget * risult(GtkWidget *); //結果発表画面 GtkWidget * ranking(GtkWidget *); //順位画面 void app_quit(); // 強制終了 void practice(); // 練習問題 GtkWidget *window; GtkWidget *vbox; GtkWidget *hbox; int pra = 0; // 練習問題をやったら1になる guint timer_id; /* ボタンがクリックされたときに呼び出される関数 */ static void cb_button_clicked (GtkWidget *button, gpointer user_data){ /* メインループを終了 */ gtk_main_quit (); } /* メイン関数 */ int main (int argc, char **argv){ gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request (window, 640, 480); gtk_window_set_title(GTK_WINDOW(window), "がんちゃん 単位をください"); TOP: pra = 0; while(1){ // スタート画面 gtk_widget_destroy(vbox); // vboxが消える gtk_widget_show_all (start(window)); // ウィンドウの表示 gtk_main (); // メインループ if(pra == 1){ goto TOP; } int x = 0; // ターン数 while(x < 3){ // プレイ画面 gtk_widget_destroy(vbox); gtk_widget_show_all (play(window)); gtk_main (); // 教科画面 gtk_widget_destroy(vbox); gtk_widget_show_all (mondai(window)); gtk_main (); // 問題画面 gtk_widget_destroy(vbox); if(return_item_number() == 2) { gtk_widget_show_all (mondai2(window));<br /> //アイテムを使用して選択肢4つ }else{ gtk_widget_show_all (mondai4(window));<br /> //アイテムを使わない普通の問題画面 } gtk_main (); // 採点 if(saiten() == 1){ // 正解画面 gtk_widget_destroy(vbox); gtk_widget_show_all (seikai(window)); gtk_main (); }else{ // 不正解画面 gtk_widget_destroy(vbox); gtk_widget_show_all (huseikai(window)); gtk_main (); } x++; // ターン数増加 } // 成績発表画面 gtk_widget_destroy(vbox); gtk_widget_show_all (ranking(window)); gtk_main (); // 成績画面 gtk_widget_destroy(vbox); gtk_widget_show_all (risult(window)); gtk_main (); } return 0; }
※一部のみ載せています。
15::gr11::スタート
15::gr11::プレイ
15::gr11::問題開始
15::gr11::選択肢2つ
15::gr11::選択肢4つ
15::gr11::正解
15::gr11::不正解
15::gr11::結果発表
15::gr11::順位
最終更新日:2015/06/05 17:38:02