Library containing the Game Engine
GameEngine.cpp
- Committer:
- ll14c4p
- Date:
- 2017-05-02
- Revision:
- 7:cf6304ef44fd
- Parent:
- 6:c710fbc0f48e
- Child:
- 8:bd718162a87c
File content as of revision 7:cf6304ef44fd:
#include "GameEngine.h" GameEngine::GameEngine() { } GameEngine::~GameEngine() { } void GameEngine::init() { } void GameEngine::read_input(Gamepad &pad) { _d = pad.get_direction(); _mag = pad.get_mag(); } void GameEngine::draw(N5110 &lcd) { // draw the elements in the LCD buffer // player _p.draw(lcd); _proj.draw(lcd); _t.draw(lcd); } void GameEngine::update(Gamepad &pad) { _p.update(_d,_mag); _proj.update(); _t.update(); CheckProjTargetCollision(pad); } void GameEngine::get_pos() { Vector2D player_pos = _p.get_pos(); //printf("player pos = %f %f \n", player_pos.x, player_pos.y); //top left of player sprite // 81.000000 0.000000 top right // 0.000000 0.000000 is top left // 81.000000 45.000000 bottom right Vector2D proj_pos = _proj.get_pos(); //printf("proj pos = %f %f \n", proj_pos.x, proj_pos.y); playerx = player_pos.x; playery = player_pos.y; //printf("playerxy in GAME = %d %d \n", playerx, playery); _proj.init(playerx,playery); } void GameEngine::CheckProjTargetCollision(Gamepad &pad) { Vector2D proj_pos = _proj.get_pos(); Vector2D t_pos = _t.get_pos(); Vector2D player_pos = _p.get_pos(); // printf("proj %f %f \n", proj_pos.x, proj_pos.y); //printf("targ %f %f \n", t_pos.x, t_pos.y); if ( ((proj_pos.y == t_pos.y) || (proj_pos.y == t_pos.y + 1) || (proj_pos.y == t_pos.y + 2) || (proj_pos.y == t_pos.y + 3) || (proj_pos.y == t_pos.y + 4)) && ((proj_pos.x == t_pos.x) || (proj_pos.x == t_pos.x + 1) || (proj_pos.x == t_pos.x + 2) || (proj_pos.x == t_pos.x + 3) || (proj_pos.x == t_pos.x + 4)) ) { printf("yeaaaaaaaaaaaaah boiiiiiiiiiiii \n"); proj_pos.x = player_pos.x +1; proj_pos.y = player_pos.y +1; t_pos.x = rand() % 79; t_pos.y = 0; // audio feedback //pad.tone(1000.0,0.1); } _proj.set_pos(proj_pos); _t.set_pos(t_pos); }