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