//Load Backround for end of Game PImage bg_img; void setup() { size(800, 500); bg_img = loadImage("vintage.jpg"); } // Create size of Game size(800, 500); background(0, 0, 0); var PADDLE_WIDTH = 60; var PADDLE_HEIGHT = 20; var PADDLE_TOP = 475; var BALL_SIZE = 20; var BALL_SPEED = 4; // Declare Variable for Ball Speed /** Variable for number of Plays till end of Game **/ var playerLives = 3; var paddleLeft; var ballDirectionX = "right"; var ballDirectionY = "down"; var ballPositionX = 40; var ballPositionY = 200; var score = 0; // Create Paddle Functions var updatePaddle = function(){ paddleLeft = mouseX - PADDLE_WIDTH / 2; }; var drawPaddle = function(){ rect(paddleLeft, PADDLE_TOP, PADDLE_WIDTH, PADDLE_HEIGHT); }; // Create Ball Functions var updateBall = function(){ // If it hits the Right side of Screen if(ballPositionX > 799 - BALL_SIZE / 2){ ballDirectionX = "left"; // Reverse Direction } // If it hits the Left side of Screen if(ballPositionX < BALL_SIZE / 2){ ballDirectionX = "right"; // Forward Direction } /** Detect Collision with Paddle */ // If the Ball reaches the same level as Paddle Top... if(ballPositionY > PADDLE_TOP - BALL_SIZE / 2 && ballPositionY < PADDLE_TOP + PADDLE_HEIGHT){ // If Ball Position X is between Paddle Left & Paddle Right if(ballPositionX > paddleLeft && ballPositionX < paddleLeft + PADDLE_WIDTH){ // Deflect ballDirectionY = "up"; } } /** If the Ball goes Offscreen */ if(ballPositionY > 520){ playerLives -= 1; // Subtract 1 from Number of Plays ballPositionY = 30; // Reposition Ball for next serve } // The Top of Screen */ if(ballPositionY < BALL_SIZE / 2){ ballDirectionY = "down"; } // Add BALL_SPEED to Ball Position X if(ballDirectionX === "right"){ ballPositionX += BALL_SPEED; }else{ ballPositionX -= BALL_SPEED; } // Add BALL_SPEED to Ball Position Y if(ballDirectionY === "down"){ ballPositionY += BALL_SPEED; }else{ ballPositionY -= BALL_SPEED; } }; // Create the Draw Ball Function var drawBall = function(){ ellipse(ballPositionX, ballPositionY, BALL_SIZE, BALL_SIZE); }; draw = function(){ // Begin Draw Loop background(0); // Clear the screen Black // Call Ball Functions drawBall(); updateBall(); // Call Paddle Functions updatePaddle(); drawPaddle(); /** Print the playerLives Variable to the screen **/ text("Lives left: " + playerLives, 40, 50); score++; text("Ponts earned = " + score, 650, 50); //PAU GAME if(playerLives === 0) { //background(0, 0, 255); image(bg_img); fill(0, 0, 255); textSize(36); textAlign(CENTER); text("Pau Game", 400, 200); textSize(24); textAlign(CENTER); text("But you did Score: " + score, 400, 250); noLoop(); } }; // End Draw Loop /* Tutorials in plain English by Dillinger © 2013 All code is owned by its respective author and made available under an MIT license: http://opensource.org/licenses/mit-license.php */