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 Joseph Lind

Committer:
dcleary
Date:
Thu Mar 17 20:38:26 2016 +0000
Revision:
3:c93d1b51785c
Pong

Who changed what in which revision?

UserRevisionLine numberNew 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