2016 ソフトウェア設計及び演習用の班Wiki
gr06::当たり判定モジュール
当たりのフラグ返し、キャラの移動制限等
hit_judge.h(第一章)
int judge_hit_enemy(Role *, Role *, int); int judge_hit_item(Role *, Item *); void set_outer_flame(Role *); int set_obstacle(Role *, Item *);
hit_judge.h(第二章)
int set_wall(double *, double *); int judge_hit_enemy_pos(int, int); int judge_hit_item2(double *, double *,Item *); void judge_talk(Role *,Role *); int judge_hit_enemy2(double *, double *,Role *,int);
説明 hit_judge.h(第一章)
- judge_hit_enemy()関数は、自キャラと敵キャラの構造体へのポインタと、当たり判定を識別するための値を引数にもちます。自キャラと敵キャラが接触したとき、接触した敵キャラの種類に対応した値を当たりフラグとして返します。接触しなかった場合は、第三引数をそのまま返します。
- judge_hit_item()関数は、自キャラとアイテムの構造体へのポインタを引数に持ちます。自キャラとアイテムが接触したとき、接触したアイテムの種類に対応した値を当たりフラグとして返します。また、フィールド上に生成される障害物も内部的にはアイテムの分類としていますが、他アイテムと処理が異なるため、この関数の内部でset_obstacle()関数を呼び出します。
- set_obstacle()関数は、自キャラと障害物の構造体へのポインタを引数に持ちます。障害物の四方から接触を判定し、障害物に重ならないように自キャラの位置を戻します。また、進路方向から障害物に接触した場合、スクロールを停止するフラグを返します。*
- set_outer_flame()関数は、自キャラの構造体へのポインタを引数にもつ。ウインドウの外に自キャラがはみ出ていかないように、定められた範囲から出たときにもとの座標へ戻します。
説明 hit_judge.h(第二章)
- int set_wall()関数は、背景画像の座標の基準となる一点のx座標とy座標のポインタを受け取り、画面中央に固定された羊が背景に描かれた壁に入らないように、画像の座標を調整します。また、返り値として画面上のキャラクタの移動歩数を返します。
- judge_hit_enemy2()関数は、背景画像の座標を示す変数へのポインタと、敵キャラの構造体へのポインタを引数に持ちます。背景の中心(自キャラ)が敵キャラと重ならないように、背景画像の座標と敵キャラのウインドウ上での座標を修正します。 judge_talk()関数は自キャラの構造体へのポインタと、敵キャラの構造体へのポインタを引数に持ちます。自キャラに対して敵キャラが会話できる位置にいるか(すなわち自キャラの上下左右1マス)を判定し、その方向と敵キャラの種類をグローバル変数の配列に代入します。
- judge_hit_enemy2()関数のインタフェース変更で各キャラを判別するためのint型の引数を追加し、1つの関数で実現可能へ。(海沼)
最終更新日:2016/08/05 03:47:53