!!!enemy.h 8< #include #include #pragma once #define MAXENEMY 10 /*同エリアに存在できる最大敵数*/ #define RUNNER 0 #define GUNNER 1 #define HEAVIER 2 #define BOSS 3 typedef struct { int species; /*敵種*/ int direction; /*方向*/ double x; /*x座標*/ double y; /*y座標*/ double beforeX; /*前回のx座標*/ double beforeY; /*前回のy座標*/ int status; /*状態(0−>回収済み、1−>正常 2−>気絶) int attackSta; /*boss(状態(0->移動 1-> 発射準備、2ー>発射、3ー>雑魚敵召喚準備、 4ー>雑魚敵召喚5ー>梨汁準備、6ー>梨汁放出、*/ int hp; /*HP*/ double r; /*接触範囲(半径)*/ int len; /*配列の長さ*/ }enemy; /*ゲーム開始時に敵情報を設定する関数引数は敵配列*/ void enemyFirstSet(void); /*気絶した時(HP=0)になっときに状態タイマをスタートさせる関数。引数は気絶した敵配列番号。*/ void enemyTimerStart(int num); /*状態タイマに応じて状態変数を書き換える関数。一定時間ごとに呼び出して欲しい。*/ void enemyTimer(void); /*回収された時に状態変数を書き換える関数。引数は回収された敵配列番号。*/ void collectEnemy(int num); /*敵のHPを−1する。引数は敵DATA、返り値は残りHP*/ int ememyHpDamage(int num); /*敵の動きを決める関数。引数はエリア番号、敵配列、プレイヤ情報。一定時間ごとに呼び出して欲しい。*/ int enemyAI(void); >8 !!!関数説明等 !!enemyFirstSet enemy型グローバル変数Enemyを初期設定する関数。enemy.c内のenemy型2次元配列の値を代入し初期化。 !!enemyTimerStart コメントにある通り、気絶した時(HP=0)になっときに状態タイマ(enemy.c内の構造体AI型の2次元配列のaiのメンバーkizetuTimer)をスタートさせる関数。引数は気絶した敵配列番号。 !!enemyTimer 状態タイマに応じて状態変数を書き換える関数。一定時間ごとに呼び出して欲しい。*/ !! !!