Initial publish

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

Committer:
Noximilien
Date:
Thu May 02 13:35:22 2019 +0000
Revision:
36:207ec7db8648
Parent:
34:754915ce9de5
Child:
37:6a2bf4488022
Have added boss explosion animation. have added debug sections. Have cleaned a code a bit. positioned some functions from public to private.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Noximilien 9:5ad5501c702e 1 #ifndef MODELS_H
Noximilien 9:5ad5501c702e 2 #define MODELS_H
Noximilien 3:10918b0f7a7d 3
Noximilien 28:35af3843de8f 4
Noximilien 28:35af3843de8f 5
Noximilien 9:5ad5501c702e 6 extern const int spaceship1_width;
Noximilien 9:5ad5501c702e 7 extern const int spaceship1_height;
Noximilien 12:bfe3a3deaac3 8 extern const int enemy2_height;
Noximilien 12:bfe3a3deaac3 9 extern const int enemy2_width;
Noximilien 33:c623c6d5ed16 10 extern const int enemy1_height;
Noximilien 33:c623c6d5ed16 11 extern const int enemy1_width;
Noximilien 32:5403bb974294 12 extern const int PressAWidth;
Noximilien 32:5403bb974294 13 extern const int PressAHeight;
Noximilien 29:579e00b7f118 14
Noximilien 5:2b9181bc5c89 15
Noximilien 30:d454d0cb72bc 16 /** @struct Sprite
Noximilien 30:d454d0cb72bc 17 * @brief A function to put a sprite and its data in one variable.
Noximilien 30:d454d0cb72bc 18 * @details A struct that alows to create an object containing a sprite, its width and height.
Noximilien 30:d454d0cb72bc 19 * It is used with another function located in main.h.
Noximilien 30:d454d0cb72bc 20 * @var Sprire::width .
Noximilien 30:d454d0cb72bc 21 * Member 'width' contains witdh of the sprite.
Noximilien 30:d454d0cb72bc 22 * @var Sprire::height.
Noximilien 30:d454d0cb72bc 23 * Member 'height' contains height of the sprite.
Noximilien 30:d454d0cb72bc 24 * @var Sprire::data.
Noximilien 30:d454d0cb72bc 25 * Member 'data' contains the array of 1s and 0s of the sprite.
Noximilien 30:d454d0cb72bc 26 */
Noximilien 21:0eb394495b8a 27 struct Sprite {
Noximilien 30:d454d0cb72bc 28 /*@{*/
Noximilien 21:0eb394495b8a 29 Sprite(int _width, int _height, const int* _data) : width(_width), height(_height), data(_data) {}
Noximilien 30:d454d0cb72bc 30 int width; /**< The width of the sprite*/
Noximilien 30:d454d0cb72bc 31 int height; /**< The height of the sprite*/
Noximilien 30:d454d0cb72bc 32 const int* data; /**< The array of 1s and 0s of the sprite.*/
Noximilien 21:0eb394495b8a 33 };
Noximilien 21:0eb394495b8a 34
Noximilien 29:579e00b7f118 35 /** Sprite Objects to use for other files. */
Noximilien 27:f05f4e738ba9 36
Noximilien 36:207ec7db8648 37 // Enemy and Boss sprites.
Noximilien 36:207ec7db8648 38 extern const Sprite blast_sprite;
Noximilien 29:579e00b7f118 39 extern const Sprite enemy2_sprite;
Noximilien 29:579e00b7f118 40 extern const Sprite enemy2_half_exploded_sprite;
Noximilien 29:579e00b7f118 41 extern const Sprite enemy2_exploded_sprite;
Noximilien 36:207ec7db8648 42
Noximilien 36:207ec7db8648 43 extern const Sprite enemy1_sprite;
Noximilien 36:207ec7db8648 44 extern const Sprite enemy1_quarter_exploded_sprite;
Noximilien 36:207ec7db8648 45 extern const Sprite enemy1_half_exploded_sprite;
Noximilien 36:207ec7db8648 46 extern const Sprite enemy1_second_quarter_exploded_sprite;
Noximilien 36:207ec7db8648 47 extern const Sprite enemy1_fully_exploded_sprite;
Noximilien 29:579e00b7f118 48 // Stars sprites.
Noximilien 23:240bc00ef25b 49 extern const Sprite small_star_sprite;
Noximilien 23:240bc00ef25b 50 extern const Sprite medium_star_sprite;
Noximilien 29:579e00b7f118 51 extern const Sprite big_star_sprite; // NOT in use
Noximilien 29:579e00b7f118 52 // Planet sprites.
Noximilien 32:5403bb974294 53 extern const Sprite planet1_sprite; // NOT in use
Noximilien 29:579e00b7f118 54 // Intro sprites.
Noximilien 29:579e00b7f118 55 extern const Sprite intro_line_one_sprite;
Noximilien 29:579e00b7f118 56 extern const Sprite intro_line_one_stars_sprite;
Noximilien 29:579e00b7f118 57 extern const Sprite intro_line_two_ships_sprite;
Noximilien 29:579e00b7f118 58 extern const Sprite intro_line_two_sprite;
Noximilien 29:579e00b7f118 59 extern const Sprite intro_line_three_sprite;
Noximilien 29:579e00b7f118 60 // Game Over and You Died sprites.
Noximilien 29:579e00b7f118 61 extern const Sprite game_over_sprite;
Noximilien 29:579e00b7f118 62 extern const Sprite you_died_sprite;
Noximilien 30:d454d0cb72bc 63 // Tutorial Arrows and Menu sprites.
Noximilien 29:579e00b7f118 64 extern const Sprite tutorial_arrow_right_sprite;
Noximilien 29:579e00b7f118 65 extern const Sprite tutorial_arrow_left_sprite;
Noximilien 30:d454d0cb72bc 66 extern const Sprite menu_cursor_sprite;
Noximilien 32:5403bb974294 67 extern const Sprite Press_A_Icon_Sprite;
Noximilien 29:579e00b7f118 68 // Player sprites.
Noximilien 29:579e00b7f118 69 extern const Sprite player_spaceship1_sprite;
Noximilien 30:d454d0cb72bc 70 extern const Sprite player_spaceship1_shield_sprite;
Noximilien 9:5ad5501c702e 71 #endif