Simple vertical scrolling space shooter game using navigation switch (joystick), uLCD-144-G2, and a pushbutton switch.

Dependencies:   4DGL-uLCD-SE PinDetect mbed

Revision:
0:5c666e5cd22d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Display/Player.cpp	Thu Mar 17 20:47:11 2016 +0000
@@ -0,0 +1,110 @@
+#include "Player.h"
+
+Player::Player(int x, int y, uLCD_4DGL *uLCD) {
+    _health = 4;
+    _x = x;
+    _y = y;
+    _uLCDptr = uLCD;
+    _cockpit.init(0,0,uLCD);
+    _cockpit.setRadius(6);
+    _glare.init(1,-2,uLCD);
+    _glare.setRadius(2);
+    _body.init(-4,0,uLCD);
+    _body.setDimensions(16,8);
+    _leftWing.init(-14,11,uLCD);
+    _leftWing.setDimensions(4,10);
+    _rightWing.init(4,11,uLCD);
+    _rightWing.setDimensions(4,10);
+    _leftGun.init(-11,9,uLCD);
+    _leftGun.setDimensions(2,4);
+    _rightGun.init(8,9,uLCD);
+    _rightGun.setDimensions(2,4);
+    _engine1.init(-2,16,uLCD);
+    _engine1.setDimensions(2,3);
+    _engine2.init(-3,16,uLCD);
+    _engine2.setDimensions(5,6);
+    _healthBar.init(-10, -10,uLCD);
+    _healthBar.setDimensions(1,20);
+}
+
+void Player::addX(int dx) {
+    if((dx > 0) && (_x + 14 <= 128)) {
+        _x += dx;
+    }
+    if((dx < 0) && (_x - 14 >= 0)) {
+        _x += dx;
+    }
+}
+
+void Player::addY(int dy) {
+    if((dy > 0) && (_y + 21 <= 128)) {
+        _y += dy;
+    }
+    if((dy < 0) && (_y - 3 >= 0)) {
+        _y += dy;    
+    }
+}
+
+Point Player::hitBoxStart() {
+    Point hitStart;
+    hitStart.x = _x - 3;
+    hitStart.y = _y - 3;
+    return hitStart;
+}
+
+Point Player::hitBoxDim() {
+    Point hitDim;
+    hitDim.x = 8;
+    hitDim.y = 24;
+    return hitDim;
+}
+
+Point Player::getLeftGunLoc() {
+    Point gunLoc;
+    gunLoc.x = _x - 10;
+    gunLoc.y = _y + 9;
+    return gunLoc;
+}
+
+Point Player::getRightGunLoc() {
+    Point gunLoc;
+    gunLoc.x = _x + 9;
+    gunLoc.y = _y + 9;
+    return gunLoc;
+}
+
+void Player::drawPlayer() {
+    _engine2.drawRect(_x,_y,Engine1Color);
+    _engine1.drawRect(_x,_y,Engine2Color);
+    _leftGun.drawRect(_x,_y,GunColor);
+    _rightGun.drawRect(_x,_y,GunColor);
+    _leftWing.drawRect(_x,_y,WingColor);
+    _rightWing.drawRect(_x,_y,WingColor);
+    _body.drawRect(_x,_y,BodyColor);
+    _cockpit.drawCircle(_x, _y, CockpitColor);
+    _glare.drawCircle(_x,_y,GlareColor);
+    if(_health == 4) {
+        _healthBar.setDimensions(1,20);
+    }
+    else if(_health == 3) {
+        _healthBar.setDimensions(1,15);
+    }
+    else if(_health == 2) {
+        _healthBar.setDimensions(1,10);
+    }
+    else if(_health == 1) {
+        _healthBar.setDimensions(1,5);
+    }
+    else {
+        _healthBar.setDimensions(1,1);
+    }
+    _healthBar.drawRect(_x,_y, HealthColor);
+}
+
+void Player::damage(int dmg) {
+    _health -= dmg;    
+}
+
+int Player::getHealth() {
+    return _health;    
+}
\ No newline at end of file