ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18lg

Dependencies:   mbed

Committer:
el18lg
Date:
Thu Jun 04 18:47:58 2020 +0000
Revision:
9:f3259d652208
Parent:
8:59b01b57f0da
Game complete;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el18lg 3:beb0cc405b1e 1 #ifndef SNAKEENGINE_H
el18lg 3:beb0cc405b1e 2 #define SNAKEENGINE_H
el18lg 3:beb0cc405b1e 3
el18lg 3:beb0cc405b1e 4 #include "mbed.h"
el18lg 3:beb0cc405b1e 5 #include "N5110.h"
el18lg 3:beb0cc405b1e 6 #include "Gamepad.h"
el18lg 3:beb0cc405b1e 7 #include "Head.h"
el18lg 5:e0f08e8022de 8 #include "Body.h"
el18lg 6:266fb8fc17f4 9 #include "Food.h"
el18lg 3:beb0cc405b1e 10
el18lg 3:beb0cc405b1e 11 // gap from edge of screen
el18lg 3:beb0cc405b1e 12 #define GAP 2
el18lg 3:beb0cc405b1e 13
el18lg 3:beb0cc405b1e 14 class SnakeEngine
el18lg 3:beb0cc405b1e 15 {
el18lg 3:beb0cc405b1e 16
el18lg 3:beb0cc405b1e 17 public:
el18lg 3:beb0cc405b1e 18 SnakeEngine();
el18lg 3:beb0cc405b1e 19 ~SnakeEngine();
el18lg 3:beb0cc405b1e 20
el18lg 9:f3259d652208 21 void init(int head_length,int head_speed, int _food_size, int score);
el18lg 3:beb0cc405b1e 22 void read_input(Gamepad &pad);
el18lg 7:24a3f13ce36d 23
el18lg 6:266fb8fc17f4 24 void update(Gamepad &pad, N5110 &lcd);
el18lg 3:beb0cc405b1e 25 void draw(N5110 &lcd);
el18lg 9:f3259d652208 26 void gameover(N5110 &lcd, Gamepad &pad);
el18lg 7:24a3f13ce36d 27
el18lg 3:beb0cc405b1e 28 private:
el18lg 4:748b3e0062f6 29 int hx;
el18lg 7:24a3f13ce36d 30 int hy;
el18lg 7:24a3f13ce36d 31 int fx;
el18lg 7:24a3f13ce36d 32 int fy;
el18lg 3:beb0cc405b1e 33 int _head_length;
el18lg 3:beb0cc405b1e 34 int _head_speed;
el18lg 9:f3259d652208 35 int _score;
el18lg 5:e0f08e8022de 36 int _nbody;
el18lg 7:24a3f13ce36d 37 int _food_size;
el18lg 8:59b01b57f0da 38 bool _gameover;
el18lg 8:59b01b57f0da 39 void collison(Gamepad &pad, N5110 &lcd);
el18lg 9:f3259d652208 40 void eat_food(Gamepad &pad, N5110 &lcd);
el18lg 8:59b01b57f0da 41
el18lg 3:beb0cc405b1e 42 Head _h;
el18lg 5:e0f08e8022de 43 Body _b;
el18lg 6:266fb8fc17f4 44 Food _f;
el18lg 3:beb0cc405b1e 45 Direction _d;
el18lg 4:748b3e0062f6 46 float _mag;
el18lg 4:748b3e0062f6 47
el18lg 3:beb0cc405b1e 48
el18lg 3:beb0cc405b1e 49 };
el18lg 3:beb0cc405b1e 50
el18lg 3:beb0cc405b1e 51 #endif