!!!課題・プログラムの確認 |||氏名|4/21 step4|4/28 step6まで|5/12 step3|5/19 step4 ||白岩和也|○|○|○|○ ||三浦紘巳|○|○|○|○ ||須田静一朗|○|○|○|○ ||下新井田柊|○|○|○|○ ||柴田康佑|○|○|○|○ ||鎌田航|○|○|○|○ || !4/21 *フィールドは情報棟をメインにしたゲーム *脱出系? !4/28 !5/12 就活のためTAできなくてすみませんでした。 !5/19 今日も用があってスタートに遅れてしまいごめんなさい。 課題と進捗状況を見ていきます。 細かくモジュール分けできていて良いと思います。 企画書・モジュール担当のリストに沿ってプログラミングするわけなので、 「こんなはずじゃなかった」とならないように活発に話し合いすることをこれからも続けていきましょう。 !5/26 話あって紙にまとめ、モジュールについてのページを編集するのは問題なく出来ていますが、個人wikiにも記録を残してほしいと思います。メモ程度でも構いませんので、wikiの使い方を覚える意味でも文にまとめることをおねがいします。 !6/3 中間発表も近づいてきましたね。 特にドローイングの部分で思うようにプログラミングができなかったりして時間が取られるかもしれませんが、1つ1つの関数の意味をもう一回原点に立ち返って理解することが大切だと思います。 !6/10 いよいよ次回中間発表です。 キャラが動いて歓声が上がるときも見られていい雰囲気だと思います。 結果が出るまでが苦しいですが少しずつ頑張っていきましょう。僕もできるだけサポートします。 個人wikiと班wikiも同時進行で更新していくようにしましょう。 成果がなかなか出づらいかもしれませんが、まだ時間はあるので「どこを目標にやっているのか」が伝わるように発表してほしいと思います。 加えて来週もしかしたら就活のために欠席するかもしれません…。そのときは申し訳ありませんが、次回どのような感じで発表したのかを教えていただきたいです。 !7/14 画面の遷移や切り替えなどが上手くできないなど苦戦を強いられてるように思います。できるかぎり自分も協力するので頑張っている人だけに任せずにみんなで助けあって作っていきましょう。 また、今日を含めてあと3回しかありませんがまだ時間はあるので、プログラミングのソースがある程度できてきたら統合してサブバージョンに上げるなど1つひとつやっていきましょう。 !7/21 そろそろ大詰めになってきたでしょうか。統合でのエラーやコアダンプでなかなか苦しい時もありますが、 助けあって完成に近づいて行くしかないと思います。 トライアンドエラーを繰り返してできるところまでやってみましょう。 !ending.c #include #include #include "kirikae.h" //メイン関数 int main (int argc,char **argv) { //GtkWidget *window; GtkWidget *window[1]; //GTKの初期化およびオプション解析 gtk_init (&argc, &argv); //ウィンドウの作成 //window = gtk_window_new (GTK_WINDOW_TOPLEVEL); window[0] = gtk_window_new (GTK_WINDOW_TOPLEVEL); //ウィンドウの大きさの設定 //gtk_widget_set_size_request (window, 400, 555); gtk_widget_set_size_request (window[0], 400, 555); { GtkWidget *vbox; //縦にウィジェットを配置するボックスの作成 vbox = gtk_vbox_new (FALSE, 2); //ボックスをウィンドウに配置 gtk_container_add (GTK_CONTAINER (window[0]), vbox); { GtkWidget *image; GtkWidget *button[2]; //ファイルから画像を読み込んでイメージの作成 image = gtk_image_new_from_file ("ending.jpg"); //イメージをボックスに配置 gtk_box_pack_start (GTK_BOX (vbox), image, TRUE, TRUE, 0); //ボタンの作成 button[0] = gtk_button_new_with_label ("タイトルに戻る"); button[1] = gtk_button_new_with_label ("ゲーム終了"); //ボタンをボックスに配置 gtk_box_pack_start (GTK_BOX (vbox), button[0], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), button[1], FALSE, FALSE, 0); //g_signal_connect (G_OBJECT (button[0]), "clicked", // G_CALLBACK (cb_button_clicked_1), NULL); g_signal_connect (G_OBJECT (button[0]), "clicked", G_CALLBACK (cb_button_clicked_1), window); printf("aaa\n"); g_signal_connect (G_OBJECT (button[1]), "clicked", G_CALLBACK (cb_button_clicked), NULL); } } //ウィンドウの表示 gtk_widget_show_all (window[0]); //メインループ gtk_main (); return 0; } int opening () { GtkWidget *window1; //ウィンドウの作成 window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); //ウィンドウの大きさの設定 gtk_widget_set_size_request (window1, 400, 555); { GtkWidget *vbox; //縦にウィジェットを配置するボックスの作成 vbox = gtk_vbox_new (FALSE, 2); //ボックスをウィンドウに配置 gtk_container_add (GTK_CONTAINER (window1), vbox); { GtkWidget *image; GtkWidget *button[2]; //ファイルから画像を読み込んでイメージの作成 image = gtk_image_new_from_file ("opening.jpg"); //イメージをボックスに配置 gtk_box_pack_start (GTK_BOX (vbox), image, TRUE, TRUE, 0); //ボタンの作成 button[0] = gtk_button_new_with_label ("スタート"); button[1] = gtk_button_new_with_label ("ゲーム終了"); //ボタンをボックスに配置 gtk_box_pack_start (GTK_BOX (vbox), button[0], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), button[1], FALSE, FALSE, 0); //ボタンがクリックされたときに呼び出される関数の設定 g_signal_connect (G_OBJECT (button[0]), "clicked", G_CALLBACK (cb_button_clicked), NULL); g_signal_connect (G_OBJECT (button[1]), "clicked", G_CALLBACK (cb_button_clicked), NULL); } } //ウィンドウの表示 gtk_widget_show_all (window1); return 0; } !kirikae.h #include #include #include static void cb_button_clicked (GtkWidget *button, gpointer user_data) { gtk_main_quit(); } static void cb_button_clicked_1(GtkWidget *button,gpointer user_data) { GtkWidget **window = (GtkWidget **)user_data; gtk_widget_hide (window[0]); opening(); }