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