JianWei Lee
/
project_game
Meteor defense project
GameEngine/GameEngine.cpp
- Committer:
- jasper0712
- Date:
- 2017-03-29
- Revision:
- 11:1c48fe71045c
- Parent:
- 10:926b1f89c4f1
- Child:
- 13:38cbce17d7d7
File content as of revision 11:1c48fe71045c:
#include "GameEngine.h" GameEngine::GameEngine() { } GameEngine::~GameEngine() { } void GameEngine::drawSpawn(N5110 &lcd){ //spawning every 2 second, moving every 1 seconds at 15 fps & drawit=15. //It changes depending on the game FPS. if (drawit ==0) { drawit =20; spa.randomizeSpawn(Array1, Array2); spa.moveSpawn(Array1, Array2); spa.updateSpawn(Array1,Array2,lcd); checkGameRule(lcd); } else { drawit -=0.5; spa.updateSpawn(Array1,Array2,lcd); } } void GameEngine::drawLaserPlayer(Gamepad &pad, N5110 &lcd) { weap.laserDamage(); weap.drawWeapon(pad, lcd); //draw a line for the laser when button is pressed if (pad.buttonhold_A == 1) { //printf("hi, button is working \n"); weap.weaponMath(pad); weap.drawLaser(Array1, lcd); } } void GameEngine::checkGameRule(N5110 &lcd) { //the only way to lose is when the spawn reaches y = 46. for ( int x = 0; x < 84; x ++) { if (Array1[x][46] > 0) { while (1) { lcd.clear(); lcd.printString("Game Over",10,3); lcd.refresh(); wait(1.0); } } } } void GameEngine::bomb(Gamepad &pad, N5110 &lcd) { //cooldown not yet implemented. //press L button to toggle flag if (pad.check_event(Gamepad::L_PRESSED)) { if (bombTarget == 1) { bombTarget = 0; } else if(bombTarget == 0) { bombTarget = 1; } } if (bombTarget == 1) { weap.drawBombTarget(Array1, pad, lcd); } }