One player pong with seven segment display for score keeping
Dependencies: 4DGL-uLCD-SE PinDetect SDFileSystem mbed-rtos mbed wave_player
Fork of ECE2036Lab2StarterCode by
paddle.cpp@3:c93d1b51785c, 2016-03-17 (annotated)
- Committer:
- dcleary
- Date:
- Thu Mar 17 20:38:26 2016 +0000
- Revision:
- 3:c93d1b51785c
Pong
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dcleary | 3:c93d1b51785c | 1 | #include "paddle.h" |
dcleary | 3:c93d1b51785c | 2 | #include "uLCD_4DGL.h" |
dcleary | 3:c93d1b51785c | 3 | |
dcleary | 3:c93d1b51785c | 4 | // Constructors |
dcleary | 3:c93d1b51785c | 5 | Paddle::Paddle() { |
dcleary | 3:c93d1b51785c | 6 | setLength(40); |
dcleary | 3:c93d1b51785c | 7 | setWidth(3); |
dcleary | 3:c93d1b51785c | 8 | setPaddleMove(8); |
dcleary | 3:c93d1b51785c | 9 | setX(118);//118 |
dcleary | 3:c93d1b51785c | 10 | setY(1); |
dcleary | 3:c93d1b51785c | 11 | setOldY(1); |
dcleary | 3:c93d1b51785c | 12 | } |
dcleary | 3:c93d1b51785c | 13 | |
dcleary | 3:c93d1b51785c | 14 | /**** Set Functions ****/ |
dcleary | 3:c93d1b51785c | 15 | |
dcleary | 3:c93d1b51785c | 16 | void Paddle::setLength(int set_length) {length = set_length; } |
dcleary | 3:c93d1b51785c | 17 | void Paddle::setWidth(int set_width) {width = set_width; } |
dcleary | 3:c93d1b51785c | 18 | void Paddle::setPaddleMove(int set_pMove){paddleMove = set_pMove; } |
dcleary | 3:c93d1b51785c | 19 | void Paddle::setScore(int set_score) {score += set_score; } |
dcleary | 3:c93d1b51785c | 20 | void Paddle::setX(int set_x) {x = set_x; } |
dcleary | 3:c93d1b51785c | 21 | void Paddle::setY(int set_y) {y = set_y; } |
dcleary | 3:c93d1b51785c | 22 | void Paddle::setOldY(int set_oy) {oldy = set_oy; } |
dcleary | 3:c93d1b51785c | 23 | |
dcleary | 3:c93d1b51785c | 24 | /**** Get Functions ****/ |
dcleary | 3:c93d1b51785c | 25 | |
dcleary | 3:c93d1b51785c | 26 | int Paddle::getLength() {return length; } |
dcleary | 3:c93d1b51785c | 27 | int Paddle::getWidth() {return width; } |
dcleary | 3:c93d1b51785c | 28 | int Paddle::getPaddleMove() {return paddleMove; } |
dcleary | 3:c93d1b51785c | 29 | int Paddle::getScore() {return score; } |
dcleary | 3:c93d1b51785c | 30 | int Paddle::getX() {return x; } |
dcleary | 3:c93d1b51785c | 31 | int Paddle::getY() {return y; } |
dcleary | 3:c93d1b51785c | 32 | int Paddle::getOldY() {return oldy; } |
dcleary | 3:c93d1b51785c | 33 | |
dcleary | 3:c93d1b51785c | 34 | /**** Member Functions ****/ |
dcleary | 3:c93d1b51785c | 35 | |
dcleary | 3:c93d1b51785c | 36 | void Paddle::movePaddleUp() { |
dcleary | 3:c93d1b51785c | 37 | // moves the paddle up (does not draw!) |
dcleary | 3:c93d1b51785c | 38 | if(y > paddleMove) |
dcleary | 3:c93d1b51785c | 39 | y -= paddleMove; |
dcleary | 3:c93d1b51785c | 40 | } |
dcleary | 3:c93d1b51785c | 41 | void Paddle::movePaddleDown() { |
dcleary | 3:c93d1b51785c | 42 | // moves the paddle up (does not draw!) |
dcleary | 3:c93d1b51785c | 43 | if(y < 127 - paddleMove - length) |
dcleary | 3:c93d1b51785c | 44 | y += paddleMove; |
dcleary | 3:c93d1b51785c | 45 | } |
dcleary | 3:c93d1b51785c | 46 | void Paddle::resetScore() {score = 0; } // resets score |
dcleary | 3:c93d1b51785c | 47 | void Paddle::initDraw(uLCD_4DGL *uLCD) { |
dcleary | 3:c93d1b51785c | 48 | // draw the paddle initially (draws the whole thing) |
dcleary | 3:c93d1b51785c | 49 | uLCD->filled_rectangle(x, y, x + width, y + length, BLUE); |
dcleary | 3:c93d1b51785c | 50 | } |
dcleary | 3:c93d1b51785c | 51 | void Paddle::redraw(uLCD_4DGL *uLCD) { |
dcleary | 3:c93d1b51785c | 52 | // draws the paddle for a move (does NOT draw the whole thing) |
dcleary | 3:c93d1b51785c | 53 | if(oldy > y) { |
dcleary | 3:c93d1b51785c | 54 | uLCD->filled_rectangle(x, oldy - paddleMove + 1, x + width, oldy, BLUE); |
dcleary | 3:c93d1b51785c | 55 | uLCD->filled_rectangle(x, oldy + length - paddleMove + 1, x + width, oldy + length, BLACK); |
dcleary | 3:c93d1b51785c | 56 | oldy = y; |
dcleary | 3:c93d1b51785c | 57 | } |
dcleary | 3:c93d1b51785c | 58 | else if(oldy < y) { |
dcleary | 3:c93d1b51785c | 59 | uLCD->filled_rectangle(x, oldy, x + width, oldy + paddleMove, BLACK); |
dcleary | 3:c93d1b51785c | 60 | uLCD->filled_rectangle(x, oldy + length, x + width, oldy + length + paddleMove, BLUE); |
dcleary | 3:c93d1b51785c | 61 | oldy = y; |
dcleary | 3:c93d1b51785c | 62 | } |
dcleary | 3:c93d1b51785c | 63 | }// end redraw |