ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18lg

Dependencies:   mbed

Committer:
el18lg
Date:
Sun May 31 16:06:31 2020 +0000
Revision:
8:59b01b57f0da
Parent:
7:24a3f13ce36d
Child:
9:f3259d652208
I have included a collison function that if the snake collides with itself or the outskirts of the map then all leds will turn on. I will now include game over to end the game;

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 7:24a3f13ce36d 21 void init(int head_length,int head_speed, int _food_size);
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 7:24a3f13ce36d 26
el18lg 3:beb0cc405b1e 27 private:
el18lg 4:748b3e0062f6 28 int hx;
el18lg 7:24a3f13ce36d 29 int hy;
el18lg 7:24a3f13ce36d 30 int fx;
el18lg 7:24a3f13ce36d 31 int fy;
el18lg 3:beb0cc405b1e 32 int _head_length;
el18lg 3:beb0cc405b1e 33 int _head_speed;
el18lg 7:24a3f13ce36d 34 int score;
el18lg 5:e0f08e8022de 35 int _nbody;
el18lg 7:24a3f13ce36d 36 int _food_size;
el18lg 8:59b01b57f0da 37 bool _gameover;
el18lg 8:59b01b57f0da 38 void collison(Gamepad &pad, N5110 &lcd);
el18lg 7:24a3f13ce36d 39 void eat_food(Gamepad &pad);
el18lg 8:59b01b57f0da 40
el18lg 3:beb0cc405b1e 41 Head _h;
el18lg 5:e0f08e8022de 42 Body _b;
el18lg 6:266fb8fc17f4 43 Food _f;
el18lg 3:beb0cc405b1e 44 Direction _d;
el18lg 4:748b3e0062f6 45 float _mag;
el18lg 4:748b3e0062f6 46
el18lg 3:beb0cc405b1e 47
el18lg 3:beb0cc405b1e 48 };
el18lg 3:beb0cc405b1e 49
el18lg 3:beb0cc405b1e 50 #endif