ELEC2645 (2018/19) / Mbed 2 deprecated el17dg

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

Committer:
Noximilien
Date:
Wed Apr 10 15:42:10 2019 +0000
Revision:
28:35af3843de8f
Parent:
27:f05f4e738ba9
Child:
29:579e00b7f118
Moved starSpawnDelay to stars.h. Made enemies move y-direction as the game score increase. Added more comments. Cleaned the code a bit. Changed struct to gameObject in the main.cpp. Made some functions less than 20 lines.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Noximilien 3:10918b0f7a7d 1 #ifndef MAIN_H
Noximilien 3:10918b0f7a7d 2 #define MAIN_H
Noximilien 3:10918b0f7a7d 3
Noximilien 4:02c63aaa2df9 4 #include "mbed.h"
Noximilien 4:02c63aaa2df9 5 #include "N5110.h"
Noximilien 4:02c63aaa2df9 6 #include "Gamepad.h"
Noximilien 21:0eb394495b8a 7 #include "geometry.h"
Noximilien 21:0eb394495b8a 8 #include "models.h"
Noximilien 8:c18c240665aa 9
Noximilien 28:35af3843de8f 10 /** Global variable readings from the gamepad are shared for all the files to
Noximilien 28:35af3843de8f 11 * use.
Noximilien 28:35af3843de8f 12 */
Noximilien 4:02c63aaa2df9 13 extern N5110 lcd;
Noximilien 4:02c63aaa2df9 14 extern Gamepad gamepad;
Noximilien 4:02c63aaa2df9 15 extern AnalogIn pot;
Noximilien 4:02c63aaa2df9 16 extern AnalogIn x_dir;
Noximilien 4:02c63aaa2df9 17 extern AnalogIn y_dir;
Noximilien 4:02c63aaa2df9 18
Noximilien 16:b7d0cac561cc 19 static const int fps = 10;
Noximilien 14:e8de27c4d0d4 20
Noximilien 27:f05f4e738ba9 21 /** This is a specific function I made to simplify drawing the sprites.
Noximilien 27:f05f4e738ba9 22 * It only works with spawn() function in gameobject.h.
Noximilien 27:f05f4e738ba9 23 * The parameters for this function are given in the models.cpp for the
Noximilien 27:f05f4e738ba9 24 * sprites.
Noximilien 27:f05f4e738ba9 25 */
Noximilien 21:0eb394495b8a 26 static void drawSprite(Point pos, const Sprite& sprite) {
Noximilien 21:0eb394495b8a 27 lcd.drawSprite(pos.x, pos.y, sprite.height, sprite.width, (int*)sprite.data);
Noximilien 21:0eb394495b8a 28 }
Noximilien 9:5ad5501c702e 29
Noximilien 27:f05f4e738ba9 30 /** This is an exactly the same function as before, but for the drawing sprite
Noximilien 27:f05f4e738ba9 31 * function that draws the black pixels on top the white pixels when the
Noximilien 27:f05f4e738ba9 32 * sprites overlap.
Noximilien 27:f05f4e738ba9 33 */
Noximilien 27:f05f4e738ba9 34 static void drawSpriteOnTop(Point pos, const SpriteOnTop& spriteOnTop) {
Noximilien 27:f05f4e738ba9 35 lcd.drawSpriteOnTop(pos.x, pos.y, spriteOnTop.height, spriteOnTop.width, (int*)spriteOnTop.data);
Noximilien 27:f05f4e738ba9 36 }
Noximilien 27:f05f4e738ba9 37
Noximilien 4:02c63aaa2df9 38 #endif