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 ll16j23s_test_docs
SnakeEngine/SnakeEngine.cpp@3:fcd6d70e9694, 2020-05-20 (annotated)
- Committer:
- JoeShotton
- Date:
- Wed May 20 21:25:40 2020 +0000
- Revision:
- 3:fcd6d70e9694
- Child:
- 4:ea3fa51c4386
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JoeShotton | 3:fcd6d70e9694 | 1 | #include "SnakeEngine.h" |
JoeShotton | 3:fcd6d70e9694 | 2 | |
JoeShotton | 3:fcd6d70e9694 | 3 | SnakeEngine::SnakeEngine() |
JoeShotton | 3:fcd6d70e9694 | 4 | { |
JoeShotton | 3:fcd6d70e9694 | 5 | //constructor |
JoeShotton | 3:fcd6d70e9694 | 6 | } |
JoeShotton | 3:fcd6d70e9694 | 7 | |
JoeShotton | 3:fcd6d70e9694 | 8 | SnakeEngine::~SnakeEngine() |
JoeShotton | 3:fcd6d70e9694 | 9 | { |
JoeShotton | 3:fcd6d70e9694 | 10 | //destructor |
JoeShotton | 3:fcd6d70e9694 | 11 | } |
JoeShotton | 3:fcd6d70e9694 | 12 | |
JoeShotton | 3:fcd6d70e9694 | 13 | void SnakeEngine::read_input(Gamepad &pad) |
JoeShotton | 3:fcd6d70e9694 | 14 | { |
JoeShotton | 3:fcd6d70e9694 | 15 | //_d = pad.get_direction(); |
JoeShotton | 3:fcd6d70e9694 | 16 | //_mag = pad.get_mag(); |
JoeShotton | 3:fcd6d70e9694 | 17 | } |
JoeShotton | 3:fcd6d70e9694 | 18 | |
JoeShotton | 3:fcd6d70e9694 | 19 | /* |
JoeShotton | 3:fcd6d70e9694 | 20 | int Gamepad::get_cardinal() |
JoeShotton | 3:fcd6d70e9694 | 21 | { |
JoeShotton | 3:fcd6d70e9694 | 22 | float angle = get_angle(); // 0 to 360, -1 for centred |
JoeShotton | 3:fcd6d70e9694 | 23 | |
JoeShotton | 3:fcd6d70e9694 | 24 | int d = 0; |
JoeShotton | 3:fcd6d70e9694 | 25 | // partition 360 into segments and check which segment the angle is in |
JoeShotton | 3:fcd6d70e9694 | 26 | if (angle < 0.0f) { |
JoeShotton | 3:fcd6d70e9694 | 27 | d = 0; // check for -1.0 angle |
JoeShotton | 3:fcd6d70e9694 | 28 | } else if (angle < 22.5f) { // then keep going in 45 degree increments |
JoeShotton | 3:fcd6d70e9694 | 29 | d = 1; |
JoeShotton | 3:fcd6d70e9694 | 30 | } else if (angle < 112.5f) { |
JoeShotton | 3:fcd6d70e9694 | 31 | d = 2; |
JoeShotton | 3:fcd6d70e9694 | 32 | } else if (angle < 202.5f) { |
JoeShotton | 3:fcd6d70e9694 | 33 | d = 3; |
JoeShotton | 3:fcd6d70e9694 | 34 | } else if (angle < 292.5f) { |
JoeShotton | 3:fcd6d70e9694 | 35 | d = 4; |
JoeShotton | 3:fcd6d70e9694 | 36 | } else { |
JoeShotton | 3:fcd6d70e9694 | 37 | d = 1; |
JoeShotton | 3:fcd6d70e9694 | 38 | } |
JoeShotton | 3:fcd6d70e9694 | 39 | |
JoeShotton | 3:fcd6d70e9694 | 40 | return d; |
JoeShotton | 3:fcd6d70e9694 | 41 | } |
JoeShotton | 3:fcd6d70e9694 | 42 | */ |
JoeShotton | 3:fcd6d70e9694 | 43 | |
JoeShotton | 3:fcd6d70e9694 | 44 | /* bool collision(int state, int x, int y,) { |
JoeShotton | 3:fcd6d70e9694 | 45 | if ((lcd.getPixel(x, y) == 1 && ((state == 1) || (state == 4))) || (lcd.getPixel(x+1, y+1) == 1 && ((state == 2) || (state == 3)))) { |
JoeShotton | 3:fcd6d70e9694 | 46 | // checks infront of head to see if pixel is set |
JoeShotton | 3:fcd6d70e9694 | 47 | // due to the size of the head, there is an offset for the check for North and Eastward directions |
JoeShotton | 3:fcd6d70e9694 | 48 | pad.led(1,0.9); |
JoeShotton | 3:fcd6d70e9694 | 49 | return true; |
JoeShotton | 3:fcd6d70e9694 | 50 | } else { |
JoeShotton | 3:fcd6d70e9694 | 51 | pad.led(1,0.0); |
JoeShotton | 3:fcd6d70e9694 | 52 | return = false; |
JoeShotton | 3:fcd6d70e9694 | 53 | } |
JoeShotton | 3:fcd6d70e9694 | 54 | } |
JoeShotton | 3:fcd6d70e9694 | 55 | */ |