Library to calculate movement and to draw the objects in the pong game
Dependencies: RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed
Fork of MainSketch by
Diff: singlepong.h
- Revision:
- 11:d812de0e5136
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/singlepong.h Wed May 24 15:18:13 2017 +0000 @@ -0,0 +1,81 @@ +#include "libs.h" + +float map(float in, float inMin, float inMax, float outMin, float outMax) { + // check it's within the range + if (inMin<inMax) { + if (in <= inMin) + return outMin; + if (in >= inMax) + return outMax; + } + else { // cope with input range being backwards. + if (in >= inMin) + return outMin; + if (in <= inMax) + return outMax; + } + // calculate how far into the range we are + float scale = (in-inMin)/(inMax-inMin); + // calculate the output. + return outMin + scale*(outMax-outMin); +} + + +void move() { + + int player1 = Player1 ; ; + PADDLE_A = map(player1 , 0 , 1023 , 0 , SCREENH - PADDLEH) ; + int VPADDLE_A = PADDLE_AF - PADDLE_A ; // speed of paddle A + + + XBALL += VXBALL ; //x location of the ball + YBALL += VYBALL ; //y location of the ball + + //bounce from the top and bottom + + if (YBALL >= SCREENH - ABALL || YBALL <=0) + { + VYBALL *= -1 ; + } + + //bounce from Paddle A + if (XBALL >= PADDLEG && XBALL <= PADDLEG + ABALL && VXBALL < 0) + { + if (YBALL > PADDLE_A - ABALL && YBALL < PADDLE_A + PADDLEH) + { + VXBALL *= -1 ; + } + } + + //bounce from the opposite wall + + if ( XBALL >= SCREENW ) + { + VXBALL *= -1 ; + } + + + // if the the wall scores + + if (XBALL <= 0 ) { + + // reset function // + + } + + } + + void draw() +{ + + + fillcircle(XBALL , YBALL , ABALL , 1 ) ; //draw ball + + fillrect( PADDLEG , PADDLE_A , PADDLEW , PADDLEH , 1) ; //draw paddle A + + + } + + + + \ No newline at end of file