#include #include #include #include /*---定義---*/ #define FIELD_WIDTH 13 //フィールドの横幅 #define FIELD_HEIGHT 18 //フィールドの縦幅 #define ENEMY_YOKO 7 //敵群の横数 #define ENEMY_TATE 5 //敵群の縦数 #define PLAYER_MAX 1 //プレイヤーの最大残機 #define MY_BULLET_MAX 2 //自機弾の最大数 /*---画面表示レイヤーの定義---*/ int Layer_back[FIELD_HEIGHT][FIELD_WIDTH]; //背景レイヤ int Layer_enemy[FIELD_HEIGHT][FIELD_WIDTH]; //敵レイヤ int Layer_bullet[FIELD_HEIGHT][FIELD_WIDTH]; //弾レイヤ int Layer_jiki[FIELD_HEIGHT][FIELD_WIDTH]; //自機レイヤ int Layer_show[FIELD_HEIGHT][FIELD_WIDTH]; //表示レイヤ /*---構造体の定義---*/ struct OBJECT { int x; //X座標 int y; //Y座標 int s; //状態(0:死亡,消滅 1:生存,存在 2以上:体力(自機の場合残機)) }; struct OBJECT JIKI; struct OBJECT ENEMY[ENEMY_TATE][ENEMY_YOKO]; struct OBJECT MyBullet[MY_BULLET_MAX]; /*----------------------------------------------*/ // 関数定義 /*----------------------------------------------*/ //初期化 void Initialize(void); //表示 void ShowLayerPile(void); void ShowInfoScore(void); void ShowRefresh(void); //特殊処理 void InputFromKeyboard(void); void ObjectCollision(void); int ScoreControl(int mode,int vary); void GameOver(void); void GameClear(void); //自機 void JikiMove(void); void JikiShot(void); void JikiDeath(void); //敵機 void EnemyMove(void); void EnemyDeath(int x,int y); //自機弾 int MyBulletSearchEmpty(void); void MyBulletShoot(int num); void MyBulletMove(void); void MyBulletDeath(int num); //タイマー int EnemyTimer(int timing); int MyBulletTimer(int timing); int EnemyBulletTimer(int timing); /*----------------------------------------------*/ // 関数群 /*----------------------------------------------*/ int main(void) { return 0; } /*----------------------------------------------*/ // 初期化 /*----------------------------------------------*/ void Initialize(void) { int i,j; //使いまわすループカウンタ //自機関連 JIKI.s = PLAYER_MAX; JIKI.x = FIELD_WIDTH/2; JIKI.y = 0; //敵機関連 for(i=0;i