    ZK01.h
    //@STATE=作成中
    //@DESCRIPTION ---------------------------------------------------------------
    // ZK01.h: ZK01 クラスのインターフェイス
    //  履歴：
    // $Log: ZK01.h,v $
    // Revision 1.8  2001/07/09 20:30:10  fujiwara
    // 例外処理の組み込み
    //
    // Revision 1.7  2001/07/01 01:03:45  fujiwara
    // const の見直し
    // 配置エディタは途中経過
    //
    // Revision 1.6  2001/06/03 09:22:32  fujiwara
    // 地上敵クラスおよび雑魚敵の微調整
    //
    // Revision 1.5  2001/05/29 01:12:10  fujiwara
    // 雑魚キャラ(飛行物）の作成。配置エディタのバグ修正
    //
    // Revision 1.4  2001/05/13 20:04:24  fujiwara
    // メモリーリークが発生したので取り除く。
    // 自弾のサウンドテスト
    //
    // Revision 1.3  2001/05/12 00:48:35  fujiwara
    // ＣＶＳを導入し、ログ表示を追加
    //
    //@DESCRIPTION_END -----------------------------------------------------------
    //@AUTHOR=S.F.
    ///////////////////////////////////////////////////////////////////////////////

    #if !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
    #define AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_

    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    #include "AbstractEnemy.h"
    namespace sf {
        namespace application {
            namespace enemy {

    class ZK01 : public AbstractEnemy
    {
    public:
        // LIFECYCLE //
        ZK01();
        virtual ~ZK01();
        // OPERATIONS //
        void initialize();
        // キャラクター移動
        void move(void);
        void hit(Character * const pDest);
        void allBomb(void);
        // テクスチャなどのロード
        static void load(void);
        static void unload(void);

        static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
        // ACCESS //
        sf::application::hit::Interface * const hitObj(void){return &mHitRect;};

        static sf::system::console::sprite::Sprite * const pSprite(void){return mspSprite.get();};

    private:
        enum State {
            MOVE,
            DEAD
        } mState;

        void die(void);

    //  float mRadian;
        float mDx;
        float mDy;
        int mDirCount;
        float mDirSpeed;

        int mAnimCount;
        sf::application::hit::HitRect mHitRect;

        sf::system::console::ObjRectangle mObj;

        static sf::system::console::sprite::PSprite mspSprite;

        static const sf::system::console::sprite::Info msSpriteInfo;

        static const int SCORE;
        static int mBalletTimer;
        static int mBalletTimerInit;

        bool mbHit;
        bool mbShoot;

        int mShootTimer;

        float mSpeed;
        float mAccel;
        float mDeltaTime;
        float mDeltaTimeRev;

    };
            }
        }
    }

    #endif // !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)