Owen Cavender
/
ELEC2645_Project_el17oc11
Owen Cavender 201159294
Diff: GameEngine.cpp
- Revision:
- 1:897160a1a3ae
- Child:
- 2:44e4a6ecdbef
diff -r b7f1f47bb26a -r 897160a1a3ae GameEngine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GameEngine.cpp Tue May 26 12:17:59 2020 +0000 @@ -0,0 +1,69 @@ +#include "GameEngine.h" +GameEngine::GameEngine() +{ + +} + +GameEngine::~GameEngine() +{ + +} + +void GameEngine::init(int shx, int shy, int apx, int apy) +{ + _shx = shx; + _shy = shy; //intial value in front of snake + _apx = apx; + _apy = apy; +} + + + +void GameEngine::set_Snakehead(Vector2D Snakehead) +{ + Snakehead.x = _shx; + Snakehead.y = _shy; +} + +Vector2D GameEngine::get_Snakehead() +{ + Vector2D Snakehead = {_shx, _shy}; + return Snakehead; +} + + +Vector2D GameEngine::get_Applepos() +{ + Vector2D Applepos = {_apx, _apy}; + return Applepos; +} + + +void GameEngine::set_Applepos(N5110 &lcd) +{ + + int appleposx = rand()%84; //is this generating new position or will it just stick to one random selection - need to make sure its in the loop + int appleposy = rand()%24; + + + if(lcd.getPixel(appleposx, appleposy)) { // this pixel is set } else { // this pixel is clear } + appleposx = rand()%84; + appleposy = rand()%24; // making sure the apple doesnt spawn inside the snakes body or wall which would increase the score + } else { + + + _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 + _apy = appleposy; //alters value of private variable - this can then be accessed by get_Applepos + + lcd.setPixel(_apx,_apy, true); + } +} + + +//void GameEngine::clear_applepos(N5110 &lcd) { +// int length = _snake.get_Length(); +// wait(length x fps); +// lcd.setPixel(Applepos.x, Applepos.y,0); +// } +//void Snakerender_apple() +// lcd.setPixel(_apx,_apy, true);