Ben Evans / Mbed 2 deprecated Defender_Game

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Explosion.h Source File

Explosion.h

00001 #ifndef EXPLOSION_H
00002 #define EXPLOSION_H
00003 
00004 // Included Headers ------------------------------------------------------------
00005 #include "mbed.h"
00006 #include "N5110.h"
00007 #include "Position.h"
00008 
00009 /** Animation Struct
00010  * @brief Struct to draw explosion animation 
00011  */   
00012 struct Animation{
00013     bool draw_circle_one; /**< Bool to draw circle one */
00014     bool draw_circle_two; /**< Bool to draw circle two */
00015     FillType circle_one; /**< Fill type of circle one */
00016     FillType circle_two; /**< Fill type of circle two */
00017 };
00018 
00019 /** Explosion class
00020  * @brief Draws explosion animation 
00021  * @author Benjamin Evans, University of Leeds
00022  * @date May 2020
00023  */      
00024 class Explosion: public Position {
00025     public:
00026         /** Constructor */
00027         Explosion();
00028         
00029         /** Destructor */
00030         ~Explosion();
00031         
00032         /** Initialises explosion 
00033          * @param destroyed_position @details Vector2D of destroyed xy pos
00034          */
00035         void init(Vector2D destroyed_position);
00036     
00037         /** Draws the explosion 
00038          * @param lcd @details N5110 object
00039          */
00040         void draw_explosion(N5110 &lcd);
00041     
00042     // Accessors and mutators --------------------------------------------------
00043         
00044         /** Gets the explosion radius
00045          * @returns explosion_radius_
00046          */
00047         int get_explosion_radius();
00048         
00049     private:   
00050        
00051     // Variables --------------------------------------------------------------- 
00052         
00053         /** Explosion circle radius */ 
00054         int explosion_radius_;
00055         
00056         /** FSM counter for state in FSM */ 
00057         int fsm_counter_;
00058         
00059         /** Draw cunter  */
00060         int draw_counter;
00061 };
00062  
00063 #endif