player 1

Dependencies:   4DGL-uLCD-SE PinDetect SparkfunAnalogJoystick mbed-rtos mbed SDFileSystem

Fork of 4180FinalLab by Rishi Bhargava

Wireless 2 Player Pong game

Committer:
Mpmart08
Date:
Fri Apr 29 00:51:56 2016 +0000
Revision:
10:b57b3fbf8266
Parent:
8:8cc2aa78348c
wifi stuff

Who changed what in which revision?

UserRevisionLine numberNew 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 8:8cc2aa78348c 54 uint8_t Paddle::returnAngle(uint8_t ballX, uint8_t size){
Mpmart08 8:8cc2aa78348c 55 uint8_t dist = abs((ballX + size/2) - (x + length/2));
Mpmart08 8:8cc2aa78348c 56 if (dist < 5)
Mpmart08 8:8cc2aa78348c 57 return 0;
Mpmart08 8:8cc2aa78348c 58 else if (dist < 10)
Mpmart08 8:8cc2aa78348c 59 return 1;
Mpmart08 8:8cc2aa78348c 60 else if (dist < 15)
Mpmart08 8:8cc2aa78348c 61 return 2;
Mpmart08 8:8cc2aa78348c 62 else
Mpmart08 8:8cc2aa78348c 63 return 3;
rishibhargava1 3:591086e44bf9 64 }
rishibhargava1 3:591086e44bf9 65
rishibhargava1 3:591086e44bf9 66 bool Paddle::returnDir(uint8_t ballX, uint8_t size){
Mpmart08 4:7da18e3c590b 67 if ((ballX+size/2) > (x+length/2)){
rishibhargava1 3:591086e44bf9 68 return true;
rishibhargava1 3:591086e44bf9 69 }
Mpmart08 4:7da18e3c590b 70 else {
rishibhargava1 3:591086e44bf9 71 return false;
Mpmart08 4:7da18e3c590b 72 }
rishibhargava1 3:591086e44bf9 73 }
rishibhargava1 3:591086e44bf9 74
rishibhargava1 3:591086e44bf9 75 void Paddle::reset(uint8_t initx, uint8_t inity){
rishibhargava1 3:591086e44bf9 76 x = initx;
rishibhargava1 3:591086e44bf9 77 y = inity;
rishibhargava1 3:591086e44bf9 78 }