A game for Lab 4 of ECE 4180

Dependencies:   4DGL-uLCD-SE LSM9DS1_Library SDFileSystem mbed-rtos mbed wave_player

Committer:
Dogstopper
Date:
Thu Mar 10 20:10:35 2016 +0000
Revision:
0:6a49493943be
Child:
3:27889fffc2f7
Initial;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Dogstopper 0:6a49493943be 1 #include "Player.h"
Dogstopper 0:6a49493943be 2
Dogstopper 0:6a49493943be 3 #define WIDTH 10
Dogstopper 0:6a49493943be 4 #define HEIGHT 10
Dogstopper 0:6a49493943be 5
Dogstopper 0:6a49493943be 6 Player::Player(uLCD_4DGL* screenInit, InputHandler* input, int startX, int startY)
Dogstopper 0:6a49493943be 7 {
Dogstopper 0:6a49493943be 8 screen = screenInit;
Dogstopper 0:6a49493943be 9 x = startX;
Dogstopper 0:6a49493943be 10 y = startY;
Dogstopper 0:6a49493943be 11 lastX = x;
Dogstopper 0:6a49493943be 12 lastY = y;
Dogstopper 0:6a49493943be 13
Dogstopper 0:6a49493943be 14 inputManager = input;
Dogstopper 0:6a49493943be 15 }
Dogstopper 0:6a49493943be 16
Dogstopper 0:6a49493943be 17 void Player::update()
Dogstopper 0:6a49493943be 18 {
Dogstopper 0:6a49493943be 19 float xAccel = inputManager->getXAccel() * 4;
Dogstopper 0:6a49493943be 20 float yAccel = inputManager->getYAccel() * 4;
Dogstopper 0:6a49493943be 21
Dogstopper 0:6a49493943be 22 int speedX = (int)(xAccel + (xAccel > 0 ? 0.5 : -0.5)) ; // Maximum Speed of 4
Dogstopper 0:6a49493943be 23 int speedY = (int)(yAccel + (yAccel > 0 ? 0.5 : -0.5)) ; // Maximum Speed of 4
Dogstopper 0:6a49493943be 24
Dogstopper 0:6a49493943be 25 x += speedX;
Dogstopper 0:6a49493943be 26 y += speedY;
Dogstopper 0:6a49493943be 27 }
Dogstopper 0:6a49493943be 28
Dogstopper 0:6a49493943be 29 void Player::draw()
Dogstopper 0:6a49493943be 30 {
Dogstopper 0:6a49493943be 31 screen_mutex.lock();
Dogstopper 0:6a49493943be 32 screen->filled_circle(lastX, lastY, WIDTH/2, BLACK);
Dogstopper 0:6a49493943be 33 screen->filled_circle(x, y, HEIGHT/2, GREEN);
Dogstopper 0:6a49493943be 34 screen_mutex.unlock();
Dogstopper 0:6a49493943be 35 }
Dogstopper 0:6a49493943be 36
Dogstopper 0:6a49493943be 37 int Player::getX()
Dogstopper 0:6a49493943be 38 {
Dogstopper 0:6a49493943be 39 return x;
Dogstopper 0:6a49493943be 40 }
Dogstopper 0:6a49493943be 41
Dogstopper 0:6a49493943be 42 int Player::getY()
Dogstopper 0:6a49493943be 43 {
Dogstopper 0:6a49493943be 44 return y;
Dogstopper 0:6a49493943be 45 }
Dogstopper 0:6a49493943be 46
Dogstopper 0:6a49493943be 47 int Player::getWidth()
Dogstopper 0:6a49493943be 48 {
Dogstopper 0:6a49493943be 49 return WIDTH;
Dogstopper 0:6a49493943be 50 }
Dogstopper 0:6a49493943be 51
Dogstopper 0:6a49493943be 52 int Player::getHeight()
Dogstopper 0:6a49493943be 53 {
Dogstopper 0:6a49493943be 54 return HEIGHT;
Dogstopper 0:6a49493943be 55 }
Dogstopper 0:6a49493943be 56