Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MotionSensor
Entity/Bosses/Skull/Skull.h
- Committer:
- el17sm
- Date:
- 2019-05-07
- Revision:
- 38:09832e662803
- Parent:
- 36:92d131695e7c
File content as of revision 38:09832e662803:
#ifndef SKULL_H
#define SKULL_H
#include "Entity.h"
#define DASH_DELAY 12
class Skull : public Entity {
private:
// Member Variables
SpriteSize _shadow;
bool _dash;
int _dash_counter;
int _velocity_index;
// Member Functions
void increment_frames();
void update_offsets();
public:
// Constructor
Skull(float pos_x, float pos_y);
// Functions
virtual void move(float, float, char * map, bool * doorways); // movement control and miscellaneous updates
virtual void take_damage(int);
virtual void draw(N5110 &lcd);
};
const float skull_velocity_pattern[7] = {0, 0, 0, 0.8, 1.6, 2};
const char skull_sprite[4][2][23][21] = //skull_sprite[Face][mouthclose/mouthopen][Size_Y][Size_X]
{
{ // Up
{
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0},
{0,0,0,1,1,2,1,2,2,2,2,2,2,2,2,2,1,1,0,0,0},
{0,0,1,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,2,1,2,1,2,2,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,1,0},
{1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1},
{0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,0},
{0,1,2,2,1,1,1,1,2,2,2,2,2,1,1,1,1,2,2,1,0},
{0,0,1,2,1,1,1,1,1,2,2,2,1,1,1,1,1,2,1,0,0},
{0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0},
{0,0,0,1,2,2,1,1,1,2,2,2,1,1,1,2,2,1,0,0,0},
{0,0,0,0,1,2,2,1,1,1,1,1,1,1,2,2,1,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0},
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
},
{
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0},
{0,0,0,1,1,2,1,2,2,2,2,2,2,2,2,2,1,1,0,0,0},
{0,0,1,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,2,1,2,1,2,2,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,1,0},
{1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1},
{1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1},
{0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,0},
{0,1,2,2,1,1,1,1,2,2,2,2,2,1,1,1,1,2,2,1,0},
{0,0,1,2,1,1,1,1,1,2,2,2,1,1,1,1,1,2,1,0,0},
{0,0,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,2,1,0,0},
{0,0,1,2,2,1,1,1,1,2,2,2,1,1,1,1,2,2,1,0,0},
{0,0,0,1,2,2,1,1,1,1,1,1,1,1,1,2,2,1,0,0,0},
{0,0,0,0,1,2,1,1,1,1,1,1,1,1,1,2,1,0,0,0,0},
{0,0,0,0,0,1,2,2,1,1,1,1,1,2,2,1,0,0,0,0,0},
{0,0,0,0,0,0,1,1,2,2,2,2,2,1,1,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0},
}
},
{ // Right
{
{0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0},
{0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0,0},
{0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{1,2,2,2,2,1,2,2,2,2,2,2,1,1,1,2,1,2,2,1,0},
{1,2,2,2,2,2,1,2,2,2,2,1,1,1,1,1,1,2,2,1,0},
{1,2,2,2,2,1,1,1,2,2,2,1,1,1,2,2,1,1,2,1,0},
{1,2,2,2,1,1,1,1,2,2,2,2,1,1,2,2,1,1,2,1,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2,2,1,0},
{0,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,0,0,0,0,1,2,2,2,2,1,2,2,2,2,2,2,1,1,0,0},
{0,0,0,0,0,0,1,2,2,2,1,1,2,1,2,2,2,1,1,0,0},
{0,0,0,0,0,0,1,2,2,2,2,1,1,1,1,1,2,2,1,0,0},
{0,0,0,0,0,0,1,1,2,2,2,2,2,1,2,1,1,1,1,0,0},
{0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,1,2,1,0,0,0},
{0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,1,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,1,1,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
},
{
{0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0},
{0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0,0},
{0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{1,2,2,2,2,1,2,2,2,2,2,2,1,1,1,2,1,2,2,1,0},
{1,2,2,2,2,2,1,2,2,2,2,1,1,1,1,1,1,2,2,1,0},
{1,2,2,2,2,1,1,1,2,2,2,1,1,1,1,2,1,1,2,1,0},
{1,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,1,1,2,1,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2,2,1,0},
{0,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,0},
{0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0},
{0,0,0,0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,0,0},
{0,0,0,0,0,0,1,2,2,2,1,1,1,2,1,2,2,2,1,0,0},
{0,0,0,0,0,0,1,2,2,2,2,1,0,1,2,1,1,2,1,0,0},
{0,0,0,0,0,0,1,2,2,2,2,1,0,1,0,0,0,1,0,0,0},
{0,0,0,0,0,0,0,1,2,2,2,2,1,2,1,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,1,1,2,2,2,2,1,2,1,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,1,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,1,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0},
}
},
{ // Down
{
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,1,1,2,1,1,0,0,0,0,0},
{0,0,0,1,1,2,2,2,2,2,2,2,1,1,2,2,1,1,0,0,0},
{0,0,1,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,1,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,1,2,2,2,2,2,1,2,2,2,2,2,1,0},
{0,1,2,2,1,1,1,1,2,2,2,2,2,1,1,1,1,2,2,1,0},
{1,2,2,1,1,1,2,1,2,2,2,2,2,1,2,1,1,1,2,2,1},
{1,2,2,1,1,2,2,2,1,2,2,2,1,2,2,2,1,1,2,2,1},
{1,2,2,1,1,2,2,1,2,2,2,2,2,1,2,2,1,1,2,2,1},
{1,2,2,2,1,1,1,2,2,2,1,2,2,2,1,1,1,2,2,2,1},
{1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1},
{1,2,1,2,2,2,2,2,2,1,2,1,2,2,2,2,2,2,1,2,1},
{0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,0},
{0,1,2,2,1,1,1,2,1,2,1,2,1,2,1,1,1,2,2,1,0},
{0,0,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,0},
{0,0,1,2,2,1,1,2,1,2,1,2,1,2,1,1,2,2,1,0,0},
{0,0,0,1,2,2,1,2,2,2,2,2,2,2,1,2,2,1,0,0,0},
{0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0},
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
},
{
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,1,1,2,1,1,0,0,0,0,0},
{0,0,0,1,1,2,2,2,2,2,2,2,1,1,2,2,1,1,0,0,0},
{0,0,1,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,1,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,1,2,2,2,2,2,1,2,2,2,2,2,1,0},
{0,1,2,2,1,1,1,1,2,2,2,2,2,1,1,1,1,2,2,1,0},
{1,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,1},
{1,2,2,1,1,1,2,1,1,2,2,2,1,1,2,1,1,1,2,2,1},
{1,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,1},
{1,2,2,2,1,1,1,2,2,2,1,2,2,2,1,1,1,2,2,2,1},
{1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1},
{1,2,1,2,2,2,2,2,2,1,2,1,2,2,2,2,2,2,1,2,1},
{0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,0},
{0,1,2,2,1,1,1,2,2,2,2,2,2,2,1,1,1,2,2,1,0},
{0,0,1,2,1,1,1,2,1,2,1,2,1,2,1,1,1,2,1,0,0},
{0,0,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,0},
{0,0,1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,0,0},
{0,0,0,1,2,2,1,1,1,1,1,1,1,1,1,2,2,1,0,0,0},
{0,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,0,0,0,0},
{0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0},
{0,0,0,0,0,0,1,1,2,2,2,2,2,1,1,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0},
}
},
{ // Left
{
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0},
{0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0},
{0,0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0},
{1,2,2,1,2,1,1,1,2,2,2,2,2,2,1,2,2,2,2,1,0},
{1,2,2,1,1,1,1,1,1,2,2,2,2,1,2,2,2,2,2,1,0},
{1,2,1,1,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,1,0},
{1,2,1,1,2,2,1,1,2,2,2,2,1,1,1,1,2,2,2,1,0},
{1,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,0,0,0},
{0,1,1,2,2,2,2,2,2,1,2,2,2,2,1,0,0,0,0,0,0},
{0,1,1,2,2,2,1,2,1,1,2,2,2,1,0,0,0,0,0,0,0},
{0,1,2,2,1,1,1,1,1,2,2,2,2,1,0,0,0,0,0,0,0},
{0,1,1,1,1,2,1,2,2,2,2,2,1,1,0,0,0,0,0,0,0},
{0,0,1,2,1,2,2,2,2,2,2,1,1,0,0,0,0,0,0,0,0},
{0,0,1,2,2,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0},
{0,0,1,1,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
},
{
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
{0,0,0,0,0,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0},
{0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0},
{0,0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0},
{1,2,2,1,2,1,1,1,2,2,2,2,2,2,1,2,2,2,2,1,0},
{1,2,2,1,1,1,1,1,1,2,2,2,2,1,2,2,2,2,2,1,0},
{1,2,1,1,2,1,1,1,1,2,2,2,1,1,1,2,2,2,2,1,0},
{1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,1,0},
{1,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,0,0,0},
{0,1,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0},
{0,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0,0,0,0,0},
{0,1,2,2,2,1,2,1,1,1,2,2,2,1,0,0,0,0,0,0,0},
{0,1,2,1,1,0,1,0,1,2,2,2,2,1,0,0,0,0,0,0,0},
{0,0,1,0,0,0,1,0,1,2,2,2,2,1,0,0,0,0,0,0,0},
{0,0,0,0,1,1,2,1,2,2,2,2,1,0,0,0,0,0,0,0,0},
{0,0,0,1,2,1,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0},
{0,0,1,2,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0},
{0,0,1,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
}
},
};
const char skull_shadow_sprite[2][5][19] =
{
{
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0}
},
{
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0},
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
{0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0}
}
};
#endif