World In Balance game
Dependencies: 4DGL-uLCD-SE PinDetect mbed
AbstractAsteroid.cpp
- Committer:
- jchin32
- Date:
- 2017-11-08
- Revision:
- 0:1305fa20a8db
File content as of revision 0:1305fa20a8db:
#include "AbstractAsteroid.h" int asteroidErase[ASTEROID_WIDTH * ASTEROID_HEIGHT] = { _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_,_,_,_,_,_ }; int AbstractAsteroid::getXPath() const { return xPath; } int AbstractAsteroid::getYPath() const { return yPath; } int AbstractAsteroid::getSpeed() const { return speed; } void AbstractAsteroid::setXPath(int xPath) { this->xPath = xPath; } void AbstractAsteroid::setYPath(int yPath) { this->yPath = yPath; } void AbstractAsteroid::setSpeed(int speed) { this->speed = speed; } void AbstractAsteroid::draw() { uLCD.BLIT(getX() - (ASTEROID_WIDTH / 2), getY() - (ASTEROID_HEIGHT / 2), ASTEROID_WIDTH, ASTEROID_HEIGHT, getSprite()); } void AbstractAsteroid::update() { uLCD.BLIT(getX() - (ASTEROID_WIDTH / 2), getY() - (ASTEROID_HEIGHT / 2), ASTEROID_WIDTH, ASTEROID_HEIGHT, asteroidErase); setX(getSpeed() * (getX() + getXPath())); setY(getSpeed() * (getY() + getYPath())); int leftBound = getX() - (ASTEROID_WIDTH / 2); int topBound = getY() - (ASTEROID_HEIGHT / 2); int rightBound = getX() + (ASTEROID_WIDTH / 2); int bottomBound = getY() + (ASTEROID_WIDTH / 2); if (leftBound < 1 + (getWidth() / 2) || topBound < 1 + (getHeight() / 2) || rightBound > 127 - (getWidth() / 2) || bottomBound > 127 - (getHeight() / 2)) { setDestroyed(true); } }