57 lines
984 B
C++
57 lines
984 B
C++
#ifndef BOSS_H
|
|
#define BOSS_H
|
|
|
|
#include <azur/azur.h>
|
|
#include <azur/gint/render.h>
|
|
|
|
#include <cstdint>
|
|
#include <stdlib.h>
|
|
|
|
#include <num/num.h>
|
|
#include <sys/types.h>
|
|
#include "bullet.h"
|
|
#include "enemy.h"
|
|
#include "trajectory.h"
|
|
|
|
|
|
typedef struct
|
|
{
|
|
uint8_t P1, P2, P3;
|
|
int16_t life;
|
|
bool toberemoved;
|
|
int color;
|
|
} BossPart;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int16_t life;
|
|
bool toberemoved;
|
|
} BossGun;
|
|
|
|
|
|
class Boss : public Enemy
|
|
{
|
|
public:
|
|
Boss( int16_t _x, int16_t _y, uint8_t _id );
|
|
~Boss();
|
|
|
|
virtual void Update( float dt ) override;
|
|
virtual void Render( void ) override;
|
|
virtual bool Test_Impact( Bullet *projectile ) override;
|
|
|
|
uint32_t lastshoot = 0;
|
|
uint8_t rotSpeed;
|
|
|
|
private:
|
|
float rotAngle;
|
|
libnum::num radiusInt, radiusExt;
|
|
|
|
uint32_t lastshoot0 = 0;
|
|
uint32_t lastshoot1 = 0;
|
|
|
|
virtual bool Shoot_OK( uint32_t tempshoot, uint8_t shootID ) override;
|
|
};
|
|
|
|
|
|
#endif |