
player 1
Dependencies: 4DGL-uLCD-SE PinDetect SparkfunAnalogJoystick mbed-rtos mbed SDFileSystem
Fork of 4180FinalLab by
Wireless 2 Player Pong game
paddle.cpp@6:9cdde66d7502, 2016-04-26 (annotated)
- Committer:
- Mpmart08
- Date:
- Tue Apr 26 18:54:13 2016 +0000
- Revision:
- 6:9cdde66d7502
- Parent:
- 4:7da18e3c590b
- Child:
- 8:8cc2aa78348c
stuff
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rishibhargava1 | 3:591086e44bf9 | 1 | #include "paddle.h" |
rishibhargava1 | 3:591086e44bf9 | 2 | |
rishibhargava1 | 3:591086e44bf9 | 3 | Paddle::Paddle(uint8_t initx, uint8_t inity, uint8_t olength, uint8_t owidth){ |
rishibhargava1 | 3:591086e44bf9 | 4 | x = initx; |
rishibhargava1 | 3:591086e44bf9 | 5 | y = inity; |
Mpmart08 | 4:7da18e3c590b | 6 | length = olength; |
Mpmart08 | 4:7da18e3c590b | 7 | width = owidth; |
Mpmart08 | 4:7da18e3c590b | 8 | if (y < 100) { |
rishibhargava1 | 3:591086e44bf9 | 9 | bottom = false; |
rishibhargava1 | 3:591086e44bf9 | 10 | } |
rishibhargava1 | 3:591086e44bf9 | 11 | else { |
rishibhargava1 | 3:591086e44bf9 | 12 | bottom = true; |
rishibhargava1 | 3:591086e44bf9 | 13 | } |
rishibhargava1 | 3:591086e44bf9 | 14 | } |
rishibhargava1 | 3:591086e44bf9 | 15 | |
rishibhargava1 | 3:591086e44bf9 | 16 | void Paddle::setLimits(uint8_t left, uint8_t right){ |
rishibhargava1 | 3:591086e44bf9 | 17 | leftLim = left; |
rishibhargava1 | 3:591086e44bf9 | 18 | rightLim = right; |
rishibhargava1 | 3:591086e44bf9 | 19 | } |
rishibhargava1 | 3:591086e44bf9 | 20 | |
rishibhargava1 | 3:591086e44bf9 | 21 | void Paddle::setMaxMove(uint8_t amt){ |
rishibhargava1 | 3:591086e44bf9 | 22 | maxMove = amt; |
rishibhargava1 | 3:591086e44bf9 | 23 | } |
rishibhargava1 | 3:591086e44bf9 | 24 | |
rishibhargava1 | 3:591086e44bf9 | 25 | uint8_t Paddle::getX(){ |
rishibhargava1 | 3:591086e44bf9 | 26 | return x; |
rishibhargava1 | 3:591086e44bf9 | 27 | } |
rishibhargava1 | 3:591086e44bf9 | 28 | |
rishibhargava1 | 3:591086e44bf9 | 29 | void Paddle::setX(uint8_t newx){ |
rishibhargava1 | 3:591086e44bf9 | 30 | x = newx; |
rishibhargava1 | 3:591086e44bf9 | 31 | } |
rishibhargava1 | 3:591086e44bf9 | 32 | |
rishibhargava1 | 3:591086e44bf9 | 33 | void Paddle::move(float amt){ |
rishibhargava1 | 3:591086e44bf9 | 34 | if (x + amt*maxMove + length > rightLim) |
rishibhargava1 | 3:591086e44bf9 | 35 | x = rightLim - length; |
rishibhargava1 | 3:591086e44bf9 | 36 | else if (x + amt*maxMove < leftLim) |
rishibhargava1 | 3:591086e44bf9 | 37 | x = leftLim; |
rishibhargava1 | 3:591086e44bf9 | 38 | else |
rishibhargava1 | 3:591086e44bf9 | 39 | x = x + amt*maxMove; |
rishibhargava1 | 3:591086e44bf9 | 40 | } |
rishibhargava1 | 3:591086e44bf9 | 41 | |
rishibhargava1 | 3:591086e44bf9 | 42 | bool Paddle::checkHit(uint8_t ballX, uint8_t ballY, uint8_t size){ |
rishibhargava1 | 3:591086e44bf9 | 43 | if (ballX+size/2 >= x && ballX+size/2 <= x+length){ |
Mpmart08 | 4:7da18e3c590b | 44 | if (bottom && (ballY+size >= y-width && ballY <= y-width)){ |
rishibhargava1 | 3:591086e44bf9 | 45 | return true; |
rishibhargava1 | 3:591086e44bf9 | 46 | } |
Mpmart08 | 4:7da18e3c590b | 47 | else if (!bottom && (ballY+size >= y+width && ballY <= y+width)){ |
rishibhargava1 | 3:591086e44bf9 | 48 | return true; |
rishibhargava1 | 3:591086e44bf9 | 49 | } |
rishibhargava1 | 3:591086e44bf9 | 50 | } |
rishibhargava1 | 3:591086e44bf9 | 51 | return false; |
rishibhargava1 | 3:591086e44bf9 | 52 | } |
rishibhargava1 | 3:591086e44bf9 | 53 | |
Mpmart08 | 4:7da18e3c590b | 54 | double Paddle::returnAngle(double ballX, double size){ |
Mpmart08 | 4:7da18e3c590b | 55 | return abs((ballX + size/2) - (x + length/2)) / 35.0 * sqrt(5.0); |
rishibhargava1 | 3:591086e44bf9 | 56 | } |
rishibhargava1 | 3:591086e44bf9 | 57 | |
rishibhargava1 | 3:591086e44bf9 | 58 | bool Paddle::returnDir(uint8_t ballX, uint8_t size){ |
Mpmart08 | 4:7da18e3c590b | 59 | if ((ballX+size/2) > (x+length/2)){ |
rishibhargava1 | 3:591086e44bf9 | 60 | return true; |
rishibhargava1 | 3:591086e44bf9 | 61 | } |
Mpmart08 | 4:7da18e3c590b | 62 | else { |
rishibhargava1 | 3:591086e44bf9 | 63 | return false; |
Mpmart08 | 4:7da18e3c590b | 64 | } |
rishibhargava1 | 3:591086e44bf9 | 65 | } |
rishibhargava1 | 3:591086e44bf9 | 66 | |
rishibhargava1 | 3:591086e44bf9 | 67 | void Paddle::reset(uint8_t initx, uint8_t inity){ |
rishibhargava1 | 3:591086e44bf9 | 68 | x = initx; |
rishibhargava1 | 3:591086e44bf9 | 69 | y = inity; |
rishibhargava1 | 3:591086e44bf9 | 70 | } |