Code viewer for World: Pong (clone by Scott Brady)

// // Cloned by Scott Brady on 8 Nov 2022 from World "Pong" by Scott Brady 
// // Please leave this clone trail here.
 

 


// //---- normal P5 code -------------------------------------------------------

// // constants for player and opponent paddles
let playerPaddle;
// // let aiPaddle;
// // let ball;
// // let playerScore;
// // let aiScore;

// const POP_SOUND = '/uploads/mrprice/mixkit-game-ball-tap-2073.wav';
// const maxScore = 10;

AB.socketStart();


// // function called before game runs 
function setup()       
{
    createCanvas(624, 351);
    playerPaddle = new Paddle(26);
    // aiPaddle = new Paddle(width - 48);
    // ball = new Ball();
    // playerScore = new Score(width / 2 - 40);
    // aiScore = new Score(width / 2 + 40);
    // let popSound = new Audio ( POP_SOUND );
}


function draw()             
{
//     sendData();
    background(0);
    playerPaddle.display();
//     aiPaddle.display();
    
//     playerPaddle.update();
//     aiPaddle.update();
    
//     processAI();
    
//     ball.update(playerScore, aiScore);
//     ball.display();
//     // sendData(ball);
    
//     ball.hasHitPlayer(playerPaddle);

//     ball.hasHitAi(aiPaddle);
    
//     stroke(255);
//     line(width/2, 0, width/2, height);
    
//     playerScore.display();
//     aiScore.display();
}

// function keyPressed() {
//     if (keyCode == UP_ARROW){
//         playerPaddle.isUp = true;
//     }
//     else if (keyCode == DOWN_ARROW){
//         playerPaddle.isDown = true;
//     }
// }

// function keyReleased() {
//     if (keyCode == UP_ARROW){
//         playerPaddle.isUp = false;
//     }
//     else if (keyCode == DOWN_ARROW){
//         playerPaddle.isDown = false;
//     }
// }

// function audioHandler(instance){
//     if (instance == "pop"){
//         var a = new Audio( POP_SOUND );		
//         a.play();
//     }
// }

class Paddle {
    constructor(x) {
        this.x = x;
        this.y = height / 2;
        this.height = 80;
        this.width = 20;
        
        this.isUp = false;
        this.isDown = false;
    }
    
    display() {
        fill(236, 89, 59);
        rect(this.x, this.y, this.width, this.height);
    }
    
    // move paddle up
    up() {
        if (this.y > 0){
            paddleMoved();
            this.y -= 2;
        }
    }
    
    // // move paddle down
    // down() {
    //     if (this.y < height - this.height){
    //         this.y += 2;
    //     }   
    // }
    
    // update() {
    //     if (this.isUp){
    //         this.up();
    //     }
    //     else if (this.isDown){
    //         this.down();
    //     }
    // }
    
}

// class Ball {
//     constructor(){
//         this.r = 10;
//         this.reset();
//     }
    
//     update(playerScore, aiScore) {
//         // if the ball hits the top or bottom of the screen, change its direction
//         if (this.y < this.r || this.y > height - this.r){
//             // sendData(-this.ySpeed);
//             this.ySpeed = -this.ySpeed;
//         }
        
//         // if the ball goes to the ends of the screen, restart the game
//         if (this.x < this.r) {
//             aiScore.increase();
//             this.reset();
//         } else if (this.x > width + this.r) {
//             playerScore.increase();
//             this.reset();
//         }
        
//         this.x += this.xSpeed;
//         this.y += this.ySpeed;
//     }
    
//     reset() {
//         this.x = width / 2;
//         this.y = height / 2;
        
//         this.xSpeed = random(3, 4);
//         // sendData(Ball)
        
//         let isLeft = random(1) > .5;
//         if (isLeft){
//             this.xSpeed = -this.xSpeed;
//         }
//         this.ySpeed = random(-3, 3);
//     }
    
//     display() {
//         ellipse(this.x, this.y, this.r * 2, this.r * 2);
//     }
    
//     hasHitPlayer(player) {
//         if (this.x - this.r <= player.x + player.width && this.x > player.x){
//             if (this.isSameHeight(player)){
//                 this.xSpeed = -this.xSpeed;
//                 audioHandler("pop");

//             }
//         }
//     }
    
    
//     hasHitAi(ai) {
//         if (this.x + this.r >= ai.x && this.x <= ai.x + ai.width) {
//             if (this.isSameHeight(ai)){
//                 this.xSpeed = -this.xSpeed;
//                 audioHandler("pop");
//             }
//         }
//     }
    
//     isSameHeight(player){
//         return this.y >= player.y && this.y <= player.y + player.height;
//     }
// }

// class Score {
//     constructor(n) {
//         this.n = n;
//         this.score = 0;
//     }
    
//     display() {
//         textSize(50);
//         textAlign(CENTER);
//         text(this.score, this.n, 60);
//     }
    
//     increase() {
//         this.score++;
//     }
// }

// function processAI() {
//     let middleOfPaddle = aiPaddle.y + aiPaddle.height / 2;
    
//     if (middleOfPaddle > ball.y){
//         aiPaddle.isUp = true;
//         aiPaddle.isDown = false;
//     }
//     else{
//         aiPaddle.isDown = true;
//         aiPaddle.isUp = false;
//     }
// }


function paddleMoved()
{
    yPosition = playerPaddle.y;
  
    AB.socketOut ( yPosition );        // server gets this, and sends the data to all clients running this World
}

AB.socketIn = function(yPosition)
{
    console.log(yPosition);   
    // console.log(data);
    // ball.update(data.score1, data.score2)
};