![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Owen Cavender 201159294
GameEngine.cpp@2:44e4a6ecdbef, 2020-05-26 (annotated)
- Committer:
- el17oc
- Date:
- Tue May 26 18:35:44 2020 +0000
- Revision:
- 2:44e4a6ecdbef
- Parent:
- 1:897160a1a3ae
ELEC2645
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el17oc | 1:897160a1a3ae | 1 | #include "GameEngine.h" |
el17oc | 1:897160a1a3ae | 2 | GameEngine::GameEngine() |
el17oc | 1:897160a1a3ae | 3 | { |
el17oc | 1:897160a1a3ae | 4 | |
el17oc | 1:897160a1a3ae | 5 | } |
el17oc | 1:897160a1a3ae | 6 | |
el17oc | 1:897160a1a3ae | 7 | GameEngine::~GameEngine() |
el17oc | 1:897160a1a3ae | 8 | { |
el17oc | 1:897160a1a3ae | 9 | |
el17oc | 1:897160a1a3ae | 10 | } |
el17oc | 1:897160a1a3ae | 11 | |
el17oc | 2:44e4a6ecdbef | 12 | void GameEngine::init(int shx, int shy, int apx, int apy, int Oshx, int Oshy) |
el17oc | 1:897160a1a3ae | 13 | { |
el17oc | 1:897160a1a3ae | 14 | _shx = shx; |
el17oc | 2:44e4a6ecdbef | 15 | _shy = shy; |
el17oc | 1:897160a1a3ae | 16 | _apx = apx; |
el17oc | 1:897160a1a3ae | 17 | _apy = apy; |
el17oc | 2:44e4a6ecdbef | 18 | _Oshx = Oshx; |
el17oc | 2:44e4a6ecdbef | 19 | _Oshy = Oshy; |
el17oc | 1:897160a1a3ae | 20 | } |
el17oc | 1:897160a1a3ae | 21 | |
el17oc | 1:897160a1a3ae | 22 | |
el17oc | 1:897160a1a3ae | 23 | |
el17oc | 1:897160a1a3ae | 24 | void GameEngine::set_Snakehead(Vector2D Snakehead) |
el17oc | 1:897160a1a3ae | 25 | { |
el17oc | 1:897160a1a3ae | 26 | Snakehead.x = _shx; |
el17oc | 1:897160a1a3ae | 27 | Snakehead.y = _shy; |
el17oc | 1:897160a1a3ae | 28 | } |
el17oc | 1:897160a1a3ae | 29 | |
el17oc | 1:897160a1a3ae | 30 | Vector2D GameEngine::get_Snakehead() |
el17oc | 1:897160a1a3ae | 31 | { |
el17oc | 1:897160a1a3ae | 32 | Vector2D Snakehead = {_shx, _shy}; |
el17oc | 1:897160a1a3ae | 33 | return Snakehead; |
el17oc | 1:897160a1a3ae | 34 | } |
el17oc | 1:897160a1a3ae | 35 | |
el17oc | 2:44e4a6ecdbef | 36 | Vector2D GameEngine::get_oldSnakehead() |
el17oc | 2:44e4a6ecdbef | 37 | { |
el17oc | 2:44e4a6ecdbef | 38 | Vector2D oldSnakehead = {_Oshx, _Oshy}; |
el17oc | 2:44e4a6ecdbef | 39 | return oldSnakehead; |
el17oc | 2:44e4a6ecdbef | 40 | } |
el17oc | 1:897160a1a3ae | 41 | |
el17oc | 1:897160a1a3ae | 42 | Vector2D GameEngine::get_Applepos() |
el17oc | 1:897160a1a3ae | 43 | { |
el17oc | 1:897160a1a3ae | 44 | Vector2D Applepos = {_apx, _apy}; |
el17oc | 1:897160a1a3ae | 45 | return Applepos; |
el17oc | 1:897160a1a3ae | 46 | } |
el17oc | 1:897160a1a3ae | 47 | |
el17oc | 1:897160a1a3ae | 48 | |
el17oc | 1:897160a1a3ae | 49 | void GameEngine::set_Applepos(N5110 &lcd) |
el17oc | 1:897160a1a3ae | 50 | { |
el17oc | 1:897160a1a3ae | 51 | |
el17oc | 2:44e4a6ecdbef | 52 | int appleposx = rand()%84; |
el17oc | 2:44e4a6ecdbef | 53 | int appleposy = rand()%24; //ROB apparently rand() is seeded so will generate same position each time - do you know any other random methods to put here? |
el17oc | 1:897160a1a3ae | 54 | |
el17oc | 1:897160a1a3ae | 55 | |
el17oc | 2:44e4a6ecdbef | 56 | if(lcd.getPixel(appleposx, appleposy)) { // this pixel is set -- 'if it is already filled on lcd, pick new position' |
el17oc | 1:897160a1a3ae | 57 | appleposx = rand()%84; |
el17oc | 1:897160a1a3ae | 58 | appleposy = rand()%24; // making sure the apple doesnt spawn inside the snakes body or wall which would increase the score |
el17oc | 1:897160a1a3ae | 59 | } else { |
el17oc | 1:897160a1a3ae | 60 | |
el17oc | 1:897160a1a3ae | 61 | |
el17oc | 1:897160a1a3ae | 62 | _apx = appleposx; //i and j are fed into applepos.x/y -- those values are then fed into set_applepos which assigngs that value to _appleposx/y which then is fed into get_applepos where it is stored and returned |
el17oc | 1:897160a1a3ae | 63 | _apy = appleposy; //alters value of private variable - this can then be accessed by get_Applepos |
el17oc | 1:897160a1a3ae | 64 | |
el17oc | 1:897160a1a3ae | 65 | lcd.setPixel(_apx,_apy, true); |
el17oc | 1:897160a1a3ae | 66 | } |
el17oc | 1:897160a1a3ae | 67 | } |
el17oc | 1:897160a1a3ae | 68 | |
el17oc | 1:897160a1a3ae | 69 | |
el17oc | 1:897160a1a3ae | 70 | //void GameEngine::clear_applepos(N5110 &lcd) { |
el17oc | 1:897160a1a3ae | 71 | // int length = _snake.get_Length(); |
el17oc | 1:897160a1a3ae | 72 | // wait(length x fps); |
el17oc | 1:897160a1a3ae | 73 | // lcd.setPixel(Applepos.x, Applepos.y,0); |
el17oc | 1:897160a1a3ae | 74 | // } |
el17oc | 1:897160a1a3ae | 75 | //void Snakerender_apple() |
el17oc | 1:897160a1a3ae | 76 | // lcd.setPixel(_apx,_apy, true); |