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

gr03:0216ヘッダ(player_chara.h)

typedef struct{
  int x; /* 自機の(現在の)x座標 */
  int y; /* 自機の(現在の)y座標 */ 
  int beforex; /* 自機の(1動作前の)x座標 */
  int beforey; /* 自機の(1動作前の)y座標 */
  int vector; /* 自機の現在の向き(1:左、2:下、3:右、4:上) */
  int weapon; /* 自機の現在の武器(1:ハンドガン、2:マシンガン、
                  3:ショットガン)*/
  int status; /* 自機の状態(0:ゲームオーバー、1:標準、
                             2:ノックバック、3:無敵) */
  int attack; /* 自機の攻撃状態(0:非攻撃状態、1:攻撃状態) */
  int HP; /* 自機の現在のHP */
  int maxHP; /* 自機の最大HP(初期値:5) */
  double r; /* 自機の接触範囲 */
}player_chara;

/* ダメージ処理とノックバック処理を行う関数 */
void p_e_knockback(int i);
/* 1Pと敵との接触によるダメージ処理とノックバック処理を行う関数
 * 接触判定の部分で呼び出してもらい、
 * どの敵と接触したかをint型で受け取る。 
 */


void p_b_knockback(int i);
/* 1Pと弾との接触によるダメージ処理とノックバック処理を行う
 * 接触判定の部分で呼び出してもらい、
 * どの弾と接触したかをint型で受け取る。 
 */


/* 無敵時間処理を行う関数 */
gboolean p_nodamage_time(gpointer user_data);
//void p_nodamage_time(void);
/* g_timeout_add(50,(GSourceFunc) p_nodamage_time,NULL)
 * の形で呼び出す。
 * playerが一定時間無敵状態になったら、標準状態に戻す。
 * Scene_flagによって1Pの時と2Pの時の処理を分けている。
 */

/* キーボード操作 */
/* キーが押された時に呼ばれるコールバック関数 */
gint cb_key_press_event(GtkWidget *widget,GdkEventKey *event,
                        gpointer user_data);
/* g_signal_connect(G_OBJECT(window),"key_press_event",
 *                  G_CALLBACK(cb_key_press_event),NULL)
 * の形で呼び出す。
 * 操作キーが押された時に呼び出され、キーのフラグを立たせる
 * Scene_flagによって検出するキーを変化させている
 */

/* キーが離された時に呼ばれるコールバック関数 */
gint cb_key_release_event(GtkWidget *widget,GdkEventKey *event,
                          gpointer user_data);
/* g_signal_connect(G_OBJECT(window),"key_release_event",
 *                  G_CALLBACK(cb_key_release_event),NULL)
 * の形で呼び出す。 
 * 操作キーが離された時に呼び出され、キーのフラグを寝かせる
 * Scene_flagによって検出するキーを変化させている
 */

/* キーのフラグチェックの関数を一定時間(1/20秒)ごとに呼び出す関数 */
//gboolean key_flag_check(gpointer data);
void key_flag_check(void);
/* 
 * 移動と攻撃について、それぞれのキーが押されているときに処理を行う。
 */

/* プレイヤーがアイテムに接触した時に呼び出す関数 */
void player_use_item(int item_num);
/* int型でマップ上のどのアイテムと接触したかを受け取る。
 * プレイヤーのHPが最大でなければ、HPを1増やす。
 */

/* プレイヤーが武器に接触した時に呼び出す関数 */
void p_change_weapon(int wep_num);
/* int型でマップ上のどの武器と接触したかを受け取る。
 * プレイヤーの現在の武器と接触した武器の種類が異なるときは、
 * プレイヤーの武器を変更する。
 */

/* エリア移動時操作 */
void player_map_switching(int area_n);
/* int型で次のエリアナンバーを受け取る。
 * 現在のエリアナンバーと次のエリアナンバーを比較し、
 * それに応じたデータの設定を行う。
 */


/* 初期データ操作 */
void default_data_set(void);
/* default_data_set()の形で呼び出す。
 * playerのデータを初期化する。
 */


/* PVP時の関数 */


void pvp_default_set(void);
/* PVP時の初期データ操作をする関数
 * ゲーム開始時に1度呼ばれれば良い。
 */

void sp_e_knockback(int i);
/* 敵と2Pの接触時のHP処理とノックバック処理を行う関数
 * どの敵とぶつかったかをint型で受け取る。
 */

/* 敵と1Pが接触した時の関数はvoid p_e_knockback(int i) */

void sp_b_knockback(int i);
/* 弾と2Pの接触時のHP処理とノックバック処理を行う関数
 * どの弾とぶつかったかをint型で受け取る。
 */

/* 弾と1Pの接触した時の関数はvoid p_b_knockback(int i) */

void p_p_knockback(void);
/* 1Pと2Pが接触した時にそれぞれのHP処理と
 * ノックバック処理を行う関数 
 */


void pvp_item_func(int player_num,int i);
/* PVPの最中にそれぞれのプレイヤーの武器を変化させる関数 
 * int型で「どのプレイヤーが敵を回収したのか」と
 * 「どの敵を回収したのか」を受け取る。
 */

void pvp_key_check(void);
/* PVPの時にそれぞのプレイヤーの移動や攻撃に関する処理を行う関数 */


最終更新日:2015/02/16 17:13:16