2017 ソフトウェア設計及び演習用の班Wiki

17::gr07::統合後ヘッダファイル

includes.h

#ifndef INCLUDES

#define INCLUDES

#include <gtk/gtk.h>

#include <stdlib.h>

#include <SDL.h>

#include <SDL_mixer.h>

#include "start.h"

#include "opening.h"

#include "field.h"

#include "Status.h"

#include "SaveWindow.h"

#endif

start.h

#include "includes.h"

void cb_start_button_clicked (GtkWidget *button, gpointer user_data);

void cb_quit_button_clicked (GtkWidget *button, gpointer user_data);

void cb_load_button_clicked (GtkWidget *button, gpointer user_data);

void set_background(GtkWidget *window);

int StartScreen();

LoadWindow.h

#ifndef LOAD_WINDOW

#define LOAD_WINDOW

#include "includes.h"

void open_load_window();

#endif

opening.h

#ifndef OPENING

#define OPENING

#include "includes.h"

int openOpeningWindow();

#endif

field.h

/*

field.h

定義と構造体

  • /

#ifndef FIELD_H

#define FIELD_H

#include "includes.h"

#define MAPINFO "../data/mapinfo.txt" //マップ情報が書いてあるファイル

#define STARTMAP 0 //最初のマップ

#define STARTBGM 0

#define STARTX 256 //最初のx 16の倍数にしなきゃオブジェクト判定できない!

#define STARTY 352 //最初のy

#define MAXMAP 16 //マップの数

#define MAXBGM 6 //bgmの数

#define MAXBOSS 1 //bossの数

#define MOVEWIDTH 39 //動ける横範囲(歩数)

#define MOVEHEIGHT 29 //動ける縦範囲(歩数)

#define WIDTH 640 //ウインドウの幅

#define HEIGHT 480 //ウインドウの高さ

#define CHARA_SIZE 32 //キャラのサイズ

#define CHARA_SAMPLE "../data/chara1.png" //主人公のキャラの画像ファイル名

#define CHARASPEED 16 //主人公キャラのキー入力で移動するピクセル数

#define TXT_H 100 //テキスト表示部の高さ

#define FONT "IPAゴシック 20" //フォント

#define ENCOUNT 30 //エンカウント

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[4]; /* アニメーションのイテレータ */

gint iter_num; /*イテレータの番号*/

}anime_pack;

static anime_pack *anime; //表示に関する情報の構造体

/*************色々な変数***********/

char *map_name[MAXMAP]; /*マップの名前*/

int map_num;

static int obxy[MAXMAP][MOVEHEIGHT][MOVEWIDTH]; /*マップ毎のオブジェクト [map_num][oby][obx]*/

static GtkWidget *view; /*テキスト表示のためのウィジェト*/

static GtkTextBuffer *buffer; /*テキスト表示のためのバッファ*/

static int space; /*スペースが押された回数*/

static int encount; /*ランダムエンカウントに使う*/

static int p_add_count[4];//仲間が追加されたか判別

static Mix_Music *music;

char *bgm_name[MAXBGM];

static int bgm_num;

GtkWidget *window; //ウインドウ

char *oe_txt[MAXMAP][26][10];

int past_map_num;

int shop_open_num;

/***************************以下関数***************************/

int openFieldWindow();

/***************背景関連******************/

void map_name_define();

void map_ob_define();

void map_ob(gpointer,GtkWidget *);

void set_background(GtkWidget *);

/*基本ウィジェット関連*/

GtkWidget * my_window_new();

void my_init(void);

/***********イベント関連*************/

void textevent(int);

void text_define();

void random_encount();

void once_event(int);

void heal(void);

void shop(void);

void save(void);

void status(void);

void game_clear(int);

void bgm_load(void);

void nakama_event(int);

void move_map(int);

/*********コールバック関数*****************/

gint my_close_handler(GtkWidget *, gpointer );

static gint cb_delete_event(GtkWidget *, GdkEventExpose *, gpointer );

static gint cb_configure_event(GtkWidget *, GdkEventExpose *, gpointer );

void cb_key_press(GtkWidget *,GdkEventKey *,gpointer );

/*********アニメーション関連***************/

GtkWidget * my_animation(GtkWidget *, gboolean,gpointer );

void make_anim(anime_pack *);

static gint move_sprite(gpointer );

static gint update_sprite(gpointer );

static void draw_animation(anime_pack *);

static void draw_sprite(anime_pack *);

/*mapinfoの説明

書く際に次のマップ情報を書くには改行1つ

  • 1・・・通れない
  • 2・・・次のマップへ(map_num + 1)
  • 3・・・前のマップへ(map_num - 1)
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9・・・ランダムエンカウント
  • a ~ ・・テキストイベント
  • h ・・・回復イベント
  • s ・・・ショップ画面呼び出しイベント
  • e ・・・今回の冒険はここまで表示
  • w ・・・boss0のシンボルエンカウント
  • x ・・・仲間0
  • y ・・・仲間1
  • z ・・・仲間2
  • A ~ ・・調べたら消えるイベント
  • A 100$ get
  • B 300$ get
  • C 500$ get
  • /

#endif

BattleWindow.h

#ifndef BATTLE_WINDOW

#define BATTLE_WINDOW

#include "includes.h"

#include <gtk/gtk.h>

#include <stdio.h>

#include <stdlib.h>

#include <SDL.h>

#include <SDL_mixer.h>

#include "Status.h"

#include "EnemyDifinitions.h"

#define BATTLE_WINDOW_WIDTH 640

#define BATTLE_WINDOW_HEIGHT 480

#define ENEMY_GEO_X 200

#define ENEMY_GEO_Y 50

#define TEXT_MESSAGE_X 50

#define TEXT_MESSAGE_Y 300

#define USER_INTERFACE_X 150

#define USER_INTERFACE_Y 400

#define NEXT_BUTTON_GEO_X 150

#define NEXT_BUTTON_GEO_Y 400

void showBattleWindow(int enemy_num);

#endif

EnemyDifinitions.h

#ifndef ENEMY_DINIFINTIONS

#define ENEMY_DINIFINTIONS

#define PIPO_ENEMY 0

#define PIPO_ENEMY_FILE_LOCATION "pipo-enemy017.png"

#define PIPO_ENEMY_HP 100

#define PIPO_ENEMY_ATTACK 100

#define PIPO_ENEMY_DEFINCE 50

#define PIPO_ENEMY_X 0

#define BOSS_ENEMY 1

#define BOSS_ENEMY_FILE_LOCATION "pipo-boss004.png"

#define BOSS_ENEMY_HP 300

#define BOSS_ENEMY_ATTACK 200

#define BOSS_ENEMY_DEFINCE 100

#define BOSS_ENEMY_X -175

#define KINOKO_ENEMY 2

#define KINOKO_ENEMY_FILE_LOCATION "pipo-enemy1.png"

#define KINOKO_ENEMY_HP 50

#define KINOKO_ENEMY_ATTACK 50

#define KINOKO_ENEMY_DEFINCE 100

#define KINOKO_ENEMY_X 0

#define TAMAGO_ENEMY 3

#define TAMAGO_ENEMY_FILE_LOCATION "pipo-enemy2.png"

#define TAMAGO_ENEMY_HP 100

#define TAMAGO_ENEMY_ATTACK 100

#define TAMAGO_ENEMY_DEFINCE 200

#define TAMAGO_ENEMY_X 0

#define KUMA_ENEMY 4

#define KUMA_ENEMY_FILE_LOCATION "kuma.png"

#define KUMA_ENEMY_HP 300

#define KUMA_ENEMY_ATTACK 200

#define KUMA_ENEMY_DEFINCE 50

#define KUMA_ENEMY_X 0

#endif

shop.h

#include "includes.h"

/*

ボタンがクリックされたときに呼び出される関数

  • /

static void

cb_show1_hide0(GtkWidget *button, gpointer user_data);

static void

cb_show0_hide1 (GtkWidget *button, gpointer user_data);

static void

cb_show0_hide2 (GtkWidget *button, gpointer user_data);

static void

cb_show2_hide0 (GtkWidget *button, gpointer user_data);

static void

cb_show0_hide3 (GtkWidget *button, gpointer user_data);

static void

cb_show3_hide0 (GtkWidget *button, gpointer user_data);

static void

cb_show0_hide4 (GtkWidget *button, gpointer user_data);

static void

cb_show4_hide0 (GtkWidget *button, gpointer user_data);

static void

cb_button_exit(GtkWidget *button, gpointer user_data);

static void

buy_spotion(GtkWidget *button,gpointer user_data);

static void

buy_lpotion(GtkWidget *button,gpointer user_data);

static void

buy_xpotion(GtkWidget *button,gpointer user_data);

static void

buy_sether(GtkWidget *button,gpointer user_data);

static void

buy_lether(GtkWidget *button,gpointer user_data);

static void

buy_xether(GtkWidget *button,gpointer user_data);

static void

buy_zyaazi(GtkWidget *button,gpointer user_data);

static void

buy_tapshoes(GtkWidget *button,gpointer user_data);

static void

buy_kattyuu(GtkWidget *button,gpointer user_data);

static void

buy_tokei(GtkWidget *button,gpointer user_data);

static void

buy_bouon_no_yoroi(GtkWidget *button,gpointer user_data);

static void

buy_earring(GtkWidget *button,gpointer user_data);

static void

buy_yellowbull(GtkWidget *button,gpointer user_data);

static void

buy_doramu_stuck(GtkWidget *button,gpointer user_data);

static void

buy_norinoriyaku(GtkWidget *button,gpointer user_data);

static void

buy_kyousouyaku(GtkWidget *button,gpointer user_data);

static void

buy_syuutyuuyaku(GtkWidget *button,gpointer user_data);

static void

buy_metorono_mu(GtkWidget *button,gpointer user_data);

static void

buy_kuroame(GtkWidget *button,gpointer user_data);

static void

buy_tatikakusan(GtkWidget *button,gpointer user_data);

static void

buy_score(GtkWidget *button,gpointer user_data);

static void

buy_sikibou(GtkWidget *button,gpointer user_data);

static void

buy_groundpiano(GtkWidget *button,gpointer user_data);

static void

buy_guiternogen(GtkWidget *button,gpointer user_data);

extern int money;

extern int main_char_hp;

extern int main_char_max_hp;

extern int main_char_max_vp;

extern int main_char_vp;

extern int main_char_attack;

extern int main_char_defence;

extern int main_char_technique;

extern int spotion;

extern int lpotion;

extern int xpotion;

extern int sether;

extern int lether;

extern int xether;

extern int bouon_no_yoroi;

extern int zyaazi;

extern int kattyuu;

extern int tokei;

extern int tapshoes;

extern int earring;

extern int yellowbull;

extern int doramu_stuck;

extern int norinoriyaku;

extern int kyousouyaku;

extern int syuutyuuyaku;

extern int metorono_mu;

extern int kuroame;

extern int tatikakusan;

extern int score;

extern int sikibou;

extern int groundpiano;

extern int guiternogen;

Mix_Music *se1;

Mix_Music *se2;

Mix_Music *se3;

Mix_Music *se4;

Mix_Music *se5;

char* init[7]={"回復",

"装備品",

"能力",

"秘密のアイテム",

"exit",

"",

"",

};

char* potion[7]={"ポーション小 \n200# HP+10",

"ポーション中 \n500# HP+30",

"ポーション大 \n800# HP+50",

"エーテル小 \n300# VP+10",

"エーテル中 \n600# VP+25",

"エーテル大 \n1000# VP+50",

"アイテム種類選択画面に戻る"

};

char* equip[7]={"ジャージ \n1000# 防御-20",

"タップシューズ \n2000# 技術+30",

"甲冑 \n2500# 防御+45",

"時計 \n3000# 攻撃+20,防御+20",

"防音の鎧 \n4500# 防御+100",

"魔族のイヤリング \n10000# 全能力+50",

"アイテム種類選択画面に戻る"

};

char* strong[7]={"yellowbull \n700# 技術+10",

"ドラム・スティック \n800# 攻撃+20",

"ノリノリ薬 \n700# VP+25",

"狂騒薬 \n2500# 全能力+10",

"ビタミン剤 \n3000# 攻撃+50,HP+20",

"メトロノーム \n4000# VP+40,技術+30",

"アイテム種類選択画面に戻る"

};

char* other[7]={"黒のど飴 \n1000# ???",

"立角酸 \n500# ???",

"SCORE \n900# ???",

"指揮棒 \n3500# ???",

"グランドピアノ \n5000# ???",

"ギターの弦 \n10# ???",

"アイテム種類選択画面に戻る"

};

int openShopWindow();

Status.h

#ifndef STATUS

#define STATUS

#endif

SaveWindow.h

#ifndef SAVE_WINDOW

#define SAVE_WINDOW

#include "includes.h"

#define SAVE_WINDOW_WIDTH 400

#define SAVE_WINDOW_HEIGHT 100

void open_save_window();

#endif

StatusWindow.h

#ifndef STATUS_WINDOW

#define STATUS_WINDOW

#include "includes.h"

#define STATUS_WIDTH 600

#define STATUS_HEIGHT 400

void open_status_window();

void signal_connect_status_window(GtkWidget *button);

void call_status_window();

#endif

gameover.h

#include "includes.h"

#define TITLEFONT "MARKED FOOL 70"

Mix_Music *gameover_music;

void cb_quit_button_clicked (GtkWidget *button, gpointer user_data);

void cb_restart_button_clicked (GtkWidget *button, gpointer user_data);

void set_background(GtkWidget *window);

void openGameOver();

ending.h

#ifndef ENDING

#define ENDING

#include "includes.h"

int openEndingWindow();

#endif


最終更新日:2017/08/04 14:56:25