00001 /* ---------------------------------------------------------- */ 00002 /* bulletmanage.h */ 00003 /* ---------------------------------------------------------- */ 00004 00005 /*------------------------------------------------------------- */ 00012 /*----------------------------------------------------- 00013 Copyright (C) 2005 rero2@fumi <rero2@yuumu.org> 00014 All Rights Reserved. 00015 ------------------------------------------------------*/ 00016 00017 /*-------------------------------*/ 00018 /* include */ 00019 /*-------------------------------*/ 00020 00021 #ifndef BULLETMANAGE_H 00022 #define BULLETMANAGE_H 00023 00024 #include "lunavader.h" 00025 #include "basicsystem.h" 00026 #include "bulletmaker.h" 00027 00028 00029 00030 /*-------------------------------*/ 00031 /* define */ 00032 /*-------------------------------*/ 00033 00034 /*-------------------------------*/ 00035 /* struct */ 00036 /*-------------------------------*/ 00037 00038 /*-------------------------------*/ 00039 /* class */ 00040 /*-------------------------------*/ 00041 00049 class BulletManage 00050 { 00051 /* ----------------------------------- */ 00052 /* --- コンストラクタ・デストラクタ */ 00053 public: 00054 BulletManage(); 00055 virtual ~BulletManage(); 00056 00057 /* ----------------------------------- */ 00058 /* --- パブリックメンバ */ 00059 public: 00060 00061 /* ----------------------------------- */ 00062 /* --- プライベートメンバ */ 00063 private: 00065 int m_BulletNum; 00067 void *m_ListHead; 00069 void *m_ListTail; 00071 int m_Graze; 00072 00073 /* ----------------------------------- */ 00074 /* --- パブリックメソッド */ 00075 public: 00076 void Init(); 00077 bool Tick(); 00078 int Display(); 00079 bool AddBullet(void *obj); 00080 bool CheckHit(ShootingObject* ship); 00081 int GetGraze(); 00082 int DisableAllBullet(); 00083 00084 /* ----------------------------------- */ 00085 /* --- プライベートメソッド */ 00086 private: 00087 void delete_bullet(void *obj); 00088 void* get_next_bullet(void *obj); 00089 00090 }; 00091 00092 00093 #endif 00094