Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
SnakeHead/SnakeHead.h@12:cb3a81adf48b, 2020-05-24 (annotated)
- Committer:
- sdlashmar
- Date:
- Sun May 24 14:19:21 2020 +0000
- Revision:
- 12:cb3a81adf48b
- Parent:
- 5:256e5e0b6cd7
- Child:
- 13:4fa0d5148216
start screen
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| sdlashmar | 5:256e5e0b6cd7 | 1 | #ifndef SNAKEHEAD_H |
| sdlashmar | 5:256e5e0b6cd7 | 2 | #define SNAKEHEAD_H |
| sdlashmar | 3:36f9e3a75905 | 3 | |
| sdlashmar | 3:36f9e3a75905 | 4 | #include "mbed.h" |
| sdlashmar | 3:36f9e3a75905 | 5 | #include "N5110.h" |
| sdlashmar | 3:36f9e3a75905 | 6 | #include "Gamepad.h" |
| sdlashmar | 4:c5addc5475d3 | 7 | #include "time.h" |
| sdlashmar | 3:36f9e3a75905 | 8 | |
| sdlashmar | 12:cb3a81adf48b | 9 | /** Snake Head Class |
| sdlashmar | 12:cb3a81adf48b | 10 | * @author Samuel D Lashmar |
| sdlashmar | 12:cb3a81adf48b | 11 | * @brief controls the snake head in the snake game and allows user to access certain variable |
| sdlashmar | 12:cb3a81adf48b | 12 | * @date May 2020 |
| sdlashmar | 12:cb3a81adf48b | 13 | */ |
| sdlashmar | 12:cb3a81adf48b | 14 | |
| sdlashmar | 5:256e5e0b6cd7 | 15 | class SnakeHead |
| sdlashmar | 3:36f9e3a75905 | 16 | { |
| sdlashmar | 3:36f9e3a75905 | 17 | |
| sdlashmar | 3:36f9e3a75905 | 18 | public: |
| sdlashmar | 12:cb3a81adf48b | 19 | /** Constructor */ |
| sdlashmar | 5:256e5e0b6cd7 | 20 | SnakeHead(); |
| sdlashmar | 12:cb3a81adf48b | 21 | /** Destructor */ |
| sdlashmar | 5:256e5e0b6cd7 | 22 | ~SnakeHead(); |
| sdlashmar | 12:cb3a81adf48b | 23 | /** Initialise snake head position, speed an direction |
| sdlashmar | 12:cb3a81adf48b | 24 | *@param Snake Head size |
| sdlashmar | 12:cb3a81adf48b | 25 | *@param Snake Head speed |
| sdlashmar | 12:cb3a81adf48b | 26 | */ |
| sdlashmar | 3:36f9e3a75905 | 27 | void init(int size, int speed); |
| sdlashmar | 12:cb3a81adf48b | 28 | /** Draws snake head on the LCD screen*/ |
| sdlashmar | 3:36f9e3a75905 | 29 | void draw(N5110 &lcd); |
| sdlashmar | 12:cb3a81adf48b | 30 | /** Updates head position */ |
| sdlashmar | 4:c5addc5475d3 | 31 | void update(); |
| sdlashmar | 12:cb3a81adf48b | 32 | /** Changes the direction in whihc the head moves |
| sdlashmar | 12:cb3a81adf48b | 33 | @param Direction d (N,E,S,W) |
| sdlashmar | 12:cb3a81adf48b | 34 | */ |
| sdlashmar | 4:c5addc5475d3 | 35 | void change_direction(Direction d); |
| sdlashmar | 3:36f9e3a75905 | 36 | void set_velocity(Vector2D v); |
| sdlashmar | 3:36f9e3a75905 | 37 | Vector2D get_velocity(); |
| sdlashmar | 3:36f9e3a75905 | 38 | Vector2D get_pos(); |
| sdlashmar | 3:36f9e3a75905 | 39 | void set_pos(Vector2D p); |
| sdlashmar | 3:36f9e3a75905 | 40 | |
| sdlashmar | 4:c5addc5475d3 | 41 | |
| sdlashmar | 3:36f9e3a75905 | 42 | private: |
| sdlashmar | 4:c5addc5475d3 | 43 | Vector2D _velocity; |
| sdlashmar | 4:c5addc5475d3 | 44 | Gamepad pad; |
| sdlashmar | 3:36f9e3a75905 | 45 | int _size; |
| sdlashmar | 3:36f9e3a75905 | 46 | int _speed; |
| sdlashmar | 3:36f9e3a75905 | 47 | int _x; |
| sdlashmar | 3:36f9e3a75905 | 48 | int _y; |
| sdlashmar | 3:36f9e3a75905 | 49 | }; |
| sdlashmar | 3:36f9e3a75905 | 50 | |
| sdlashmar | 3:36f9e3a75905 | 51 | #endif |