2017 ソフトウェア設計及び演習用の班Wiki
17::gr01::ヘッダファイル
game.h(担当:諏訪)
#pragma once
/*セーブデータにセーブ、ロードする関数(データ1,2それぞれ)*/
void save1();
void save2();
void load1();
void load2();
/*レベルアップ時に変動するステータスを反映させる関数*/
void levelup();
/*現在のステータス(HP,装備,所持金など)を更新する関数群*/
void c_level(int);//加算
void c_hp(int);//加算
void c_mp(int);//加算
void c_atk(int);//加算
void c_def(int);//加算
void c_quick(int);//加算
void c_sword(int);//代入
void c_armor(int);//代入
void c_accessory(int);//代入
void c_hpdrug_s(int);//加算
void c_hpdrug_m(int);//加算
void c_hpdrug_l(int);//加算
void c_mpdrug(int);//加算
void c_firecrystal(int);//代入
void c_watercrystal(int);//代入
void c_thundercrystal(int);//代入
int c_exp(int);//加算 レベルアップ時1を返す
void c_money(int);//加算
void GAMEOVER();//ゲームオーバー表示とタイトルへ戻る
title.h(担当:諏訪)
/*タイトル画面*/
void title (GtkWidget *button, gpointer user_data);
/*はじめから*/
void start_clicked (GtkWidget *button, gpointer user_data);
/*つづきから*/
void continue_clicked (GtkWidget *button, gpointer user_data);
/*終了*/
void quit_clicked (GtkWidget *button, gpointer user_data);
/*データ1ロード*/
void data1_clicked (GtkWidget *button, gpointer user_data);
/*データ2ロード*/
void data2_clicked (GtkWidget *button, gpointer user_data);
town.h(担当:橋本)
/*冒険への出発、宿屋・よろず屋・話を聞く機能の実装*/
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;
void town_start ();
void signal_end (GtkWidget *, gpointer);
/*冒険ボタンの選択肢*/
void cb_button_clicked_ad1 (GtkWidget *, gpointer);
void cb_button_clicked_ad2 (GtkWidget *, gpointer);
void cb_button_clicked_ad3 (GtkWidget *, gpointer);
void cb_button_clicked_ad4 (GtkWidget *, gpointer);
void cb_button_clicked_return (GtkWidget *, gpointer);
/*拠点で”冒険”が選ばれたときに呼び出される関数*/
void cb_button_clicked_adventure (GtkWidget *, gpointer);
/*拠点で”宿屋”が選ばれたときに呼び出される関数*/
void cb_button_clicked_inn (GtkWidget *, gpointer);
void cb_button_clicked_inn_yes (GtkWidget *, gpointer);
/*"よろず屋”画面を呼び出す関数*/
void cb_button_clicked_shop (GtkWidget *, gpointer);
void cb_button_clicked_sword (GtkWidget *, gpointer);
void cb_button_clicked_armor(GtkWidget *, gpointer);
void cb_button_clicked_acce (GtkWidget *, gpointer);
void cb_button_clicked_item (GtkWidget *, gpointer);
void cb_button_clicked_buy (GtkWidget *, gpointer);
int judge(gpoiner);
int judge_money(gpointer);
void increase(gpointer);
void cb_button_clicked_buy_error (GtkWidget *, gpointer);
void cb_button_clicked_yes (GtkWidget *, gpointer);
/*会話モジュールを呼び出す関数*/
void cb_button_clicked_talk (GtkWidget *, gpointer);
prologue.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdlib.h>
#include <stdio.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
/* 「次へ」ボタン */
GtkWidget *button1, *button2, *button3, *button4, *button5, *button6;
void cb_button1_clicked(GtkWidget *, gpointer);
void cb_button2_clicked(GtkWidget *, gpointer);
void cb_button3_clicked(GtkWidget *, gpointer);
void cb_button4_clicked(GtkWidget *, gpointer);
void cb_button5_clicked(GtkWidget *, gpointer);
void cb_gamestart_clicked(GtkWidget *, gpointer);
void op_message();
murabito.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
void cb_button_clicked_mura1(GtkWidget *, gpointer);
void cb_button_clicked_mura2(GtkWidget *, gpointer);
void cb_button_clicked_mura3(GtkWidget *, gpointer);
void cb_button_clicked_mura4(GtkWidget *, gpointer);
void cb_button_clicked_town(GtkWidget *,gpointer);
/* 村人1の会話の続きの内容を扱う関数(①~③) */
void cb_button_clicked_next1_1(GtkWidget *, gpointer);
void cb_button_clicked_next1_2(GtkWidget *, gpointer);
void cb_button_clicked_next1_3(GtkWidget *, gpointer);
/* 村人2の会話の続きの内容を扱う関数(①~③) */
void cb_button_clicked_next2_1(GtkWidget *,gpointer);
void cb_button_clicked_next2_2(GtkWidget *,gpointer);
void cb_button_clicked_next2_3(GtkWidget *,gpointer);
/* 村人3の会話の続きの内容を扱う関数(①~③) */
void cb_button_clicked_next3_1(GtkWidget *,gpointer);
void cb_button_clicked_next3_2(GtkWidget *,gpointer);
void cb_button_clicked_next3_3(GtkWidget *,gpointer);
/* 村人4の会話の続きの内容を扱う関数(①~④) */
void cb_button_clicked_next4_1(GtkWidget *,gpointer);
void cb_button_clicked_next4_2(GtkWidget *,gpointer);
void cb_button_clicked_next4_3(GtkWidget *,gpointer);
void cb_button_clicked_next4_4(GtkWidget *,gpointer);
void cb_button_clicked_talk_select ();
ending.h(担当:菊池)
#include <stdio.h> #include <gtk/gtk.h> #include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label; */
/* 「次へ」ボタン */
static void cb_button1_clicked(GtkWidget *, gpointer);
static void cb_button2_clicked(GtkWidget *, gpointer);
static void cb_button3_clicked(GtkWidget *, gpointer);
static void cb_button4_clicked(GtkWidget *, gpointer);
static void cb_button5_clicked(GtkWidget *, gpointer);
static void cb_button6_clicked(GtkWidget *, gpointer);
static void cb_button7_clicked(GtkWidget *, gpointer);
static void cb_button8_clicked(GtkWidget *, gpointer);
static void cb_button9_clicked(GtkWidget *, gpointer);
static void cb_button10_clicked(GtkWidget *, gpointer);
static void cb_button11_clicked(GtkWidget *, gpointer);
static void cb_button_title_clicked(GtkWidget *, gpointer);
void end_message();
fire-kaiwa.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
static void cb_button_clicked_fire_talk1(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk2(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk3(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk4(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk5(GtkWidget *, gpointer);
void fire_talk();
void fire_sentou(GtkWidget *, gpointer);
fire-kaiwa2.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
/* 「次へ」ボタン */
GtkWidget *button1, *button2, *button3, *button4, *button5, *button6;
static void cb_button_clicked_fire_talk2_1(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk2_2(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk2_3(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk2_4(GtkWidget *, gpointer);
static void cb_button_clicked_fire_talk2_5(GtkWidget *, gpointer);
void fire_talk2();
void return_town_f(GtkWidget *, gpointer);
water-kaiwa.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
static void cb_button_clicked_water_talk1(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk2(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk3(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk4(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk5(GtkWidget *, gpointer);
void water_talk();
void water_sentou(GtkWidget *, gpointer);
water-kaiwa2.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label; */
/* 「次へ」ボタン */
GtkWidget *button1, *button2, *button3, *button4, *button5, *button6;
static void cb_button_clicked_water_talk2_1(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk2_2(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk2_3(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk2_4(GtkWidget *, gpointer);
static void cb_button_clicked_water_talk2_5(GtkWidget *, gpointer);
void water_talk2();
void return_town_w(GtkWidget *, gpointer);
thunder-kaiwa.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
static void cb_button_clicked_thunder_talk1(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk2(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk3(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk4(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk5(GtkWidget *, gpointer);
void thunder_talk();
void thunder_sentou(GtkWidget *, gpointer);
thunder-kaiwa2.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label; */
/* 「次へ」ボタン */
GtkWidget *button1, *button2, *button3, *button4, *button5, *button6;
static void cb_button_clicked_thunder_talk2_1(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk2_2(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk2_3(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk2_4(GtkWidget *, gpointer);
static void cb_button_clicked_thunder_talk2_5(GtkWidget *, gpointer);
void thunder_talk2();
void return_town_t(GtkWidget *, gpointer);
last-kaiwa.h(担当:菊池)
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
/*GtkWidget *window;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;*/
static void cb_button_clicked_last_talk1(GtkWidget *, gpointer);
static void cb_button_clicked_last_talk2(GtkWidget *, gpointer);
static void cb_button_clicked_last_talk3(GtkWidget *, gpointer);
static void cb_button_clicked_last_talk4(GtkWidget *, gpointer);
static void cb_button_clicked_last_talk5(GtkWidget *, gpointer);
void last_talk();
void last_sentou(GtkWidget *, gpointer);
map.h(担当:立花、松井)
#ifndef _SAMPLE
#define _SAMPLE
#include <gtk/gtk.h>
#include <glib.h>
#include <stdlib.h>
#include <gdk/gdkkeysyms.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#define WIDTH 800
#define HEIGHT 600
#define CHARA_SIZE 32
#define atari_d 5
GtkWidget *window;
GtkWidget *window_b;
GtkWidget *window_m;
GdkPixbuf *pixbuf;
int encount(int *x, int *y);
void atari(int *fire, int *water, int *sander, int *mao, guint *x, guint *y);
static void cb_button1_clicked(GtkWidget *button, gpointer user_data);
static void cb_button1_clicked(GtkWidget *button, gpointer user_data);
typedef struct { /* アニメーション用パーツ詰め合わせ */
GtkWidget *drawing_area; /* ドローイングエリア */
gint timeout; /* アニメーションのタイムアウト */
GdkPixbuf *s_pixbuf; /* スプライト用ピクスバッファ */
gint s_width; /* スプライト幅 */
gint s_height; /* スプライト高さ */
gint x, y, dx, dy; /* スプライトの座標・ベクトル */
gint s_timeout; /* スプライト自身のタイムアウト */
GdkPixbufAnimationIter *iter; /* アニメーションのイテレータ */
} anime_pack;
char *map_here(int *fire,int *water, int *sander, int *mao);
void map_seni(int *fire, int *water, int *sander, int *mao ,guint *x, guint *y);
static GdkPixbufAnimation *
make_anime(anime_pack *anime, int j) ;
void
my_init(int argc, char *argv[]);
/* ドローイングエリアにスプライトを描く */
static void
draw_sprite(anime_pack *anime);
/* ドローイングエリアを更新 */
static void
draw_animation(anime_pack *anime);
static gint
cb_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data);
static gint
cb_key_release(GtkWidget *widget, GdkEventKey *event, gpointer user_data);
/* スプライトを動かす */
static gint
move_sprite(gpointer data);
/* スプライト用ピクスバッファを更新 */
static gint
update_sprite(gpointer data);
/* exposeイベントのコールバック */
static gint
cb_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data);
/* 終了処理 */
static gint
cb_delete_event(GtkWidget *widget, GdkEventExpose *event, gpointer data);
/* 歩行パターン画像からPixbufAnimationを作成 */
static GdkPixbufAnimation *
make_anime(anime_pack *anime, int j) ;
/* キャラクターが動くアニメーションサンプルウィジェット */
GtkWidget *
my_animation_chara(GtkWidget *window, gboolean trans);
/* 背景画像の読み込みと設定 */
void
set_background(GtkWidget *window);
/* ピクスマップに背景を描く */
static void
draw_background(GtkWidget *widget, GdkPixmap *pixmap);
/* configureイベントのコールバック */
static gint
cb_configure_event(GtkWidget *widget, GdkEventExpose *event, gpointer data);
/* スプライト用ピクスバッファを更新 */
static gint
update_sprite(gpointer data);
GtkWidget *
my_window_new(void);
#endif // _SAMPLE
battle.h(担当:宮澤)
#include <stdio.h>
typedef struct enemy_status {
char name[32]; //名前
int hp; //hp
int attack; //攻撃力
int defence; //防御
int agility; //素早さ
int attribute; //属性
int exp; //取得経験値
int money; //金
} enemy;
enemy a = {"トラっぽい猫", 21, 11, 10, 5, 1, 15, 60};
enemy b = {"焼き鳥", 30, 10, 10, 6, 1, 18, 80};
enemy c = {"黒ヤギさん", 38, 10, 8, 5, 1, 22, 100};
enemy d = {"にらみつける", 150, 18, 15, 8, 1, 150, 1000};
enemy e = {"スプラトゥーン", 50, 12, 11, 7, 2, 30, 110};
enemy f = {"ワラスボ", 58, 13, 8, 15, 2, 40, 60};
enemy g = {"ジェグリジャ", 62, 15, 6, 9, 2, 70, 200};
enemy h = {"ドラグーン", 250, 20, 15, 12, 2, 500, 3000};
enemy i = {"ピ○チュウ", 140, 20, 18, 20, 3, 100, 314};
enemy j = {"ひらつか雷鳥", 160, 25, 20, 25, 3, 120, 500};
enemy k = {"富士通の化身", 180, 20, 20, 20, 3, 180, 800};
enemy l = {"工場長", 500, 30, 30, 35, 3, 1000, 7000};
enemy m = {"蛇口さん", 300, 30, 25, 25, 4, 500, 1000};
enemy n = {"教祖様", 350, 35, 35, 20, 4, 550, 1200};
enemy o = {"アグババ", 380, 30, 20, 40, 4, 700, 1500};
enemy q = {"魔王ダイル", 1000, 50, 40, 30, 4, 0, 0};
menu_control.h(担当:新田)
#pragma once
#define MAX_INSTRUMENTS 10 //適当
#include <gtk/gtk.h>
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *label_text;
/*cb_status*/
GtkWidget *label_hp;
GtkWidget *label_mp;
GtkWidget *label_atk;
GtkWidget *label_def;
GtkWidget *label_quick;
GtkWidget *label_exp;
GtkWidget *label_money;
/*cb_instrument, cb_in_~*/
GtkWidget *button_in_hs;
GtkWidget *button_in_hm;
GtkWidget *button_in_hl;
GtkWidget *button_in_mp;
GtkWidget *button_yes;
GtkWidget *button_no;
GtkWidget *button_return;
/*cb_button_in_hm_clicked*/
GtkWidget *button_in_hm_y;
/* メニューでstatusが押された場合 */
void cb_status(GtkAction *, gpointer);
/* メニューでinstrumentが押された場合 */
void cb_instrument(GtkAction *, gpointer);
/* メニューでequipmentが押された場合 */
void cb_select_equipment(GtkAction *, gpointer);
/* メニューでsaveが押された場合 */
void cb_save(GtkAction *, gpointer);
/* メニューでquitが押された場合 */
void cb_quit(GtkAction *, gpointer);
/* メニュー > insturmentにおいて"HP回復薬(小)"が押された場合 */
void cb_button_in_hs_clicked(GtkWidget *, gpointer);
/* メニュー > insturmentにおいて"HP回復薬(中)"が押された場合 */
void cb_button_in_hm_clicked(GtkWidget *, gpointer);
/* メニュー > insturmentにおいて"HP回復薬(大)"が押された場合 */
void cb_button_in_hl_clicked(GtkWidget *, gpointer);
/* メニュー > insturmentにおいて"MP回復薬"が押された場合 */
void cb_button_in_mp_clicked(GtkWidget *, gpointer);
/* メニュー > insturment > HP回復薬(小)において"はい"が押された場合 */
void cb_button_in_hs_use_clicked(GtkWidget *, gpointer);
/* メニュー > insturment > HP回復薬(中)において"はい"が押された場合 */
void cb_button_in_hm_use_clicked(GtkWidget *, gpointer);
/* メニュー > insturment > HP回復薬(大)において"はい"が押された場合 */
void cb_button_in_hl_use_clicked(GtkWidget *, gpointer);
/* メニュー > insturment > MP回復薬において"はい"が押された場合 */
void cb_button_in_mp_use_clicked(GtkWidget *, gpointer);
最終更新日:2017/08/07 11:35:18