A game for Lab 4 of ECE 4180
Dependencies: 4DGL-uLCD-SE LSM9DS1_Library SDFileSystem mbed-rtos mbed wave_player
Player.cpp@0:6a49493943be, 2016-03-10 (annotated)
- Committer:
- Dogstopper
- Date:
- Thu Mar 10 20:10:35 2016 +0000
- Revision:
- 0:6a49493943be
- Child:
- 3:27889fffc2f7
Initial;
Who changed what in which revision?
User | Revision | Line number | New 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 |