핑퐁게임 스크립트 무료 다운로드

재미있는 스크립트 하나로 당신의 웹사이트가 더 흥미로워집니다!

클릭 한 번, 복사 한 줄. 이 간단한 Ping Pong 게임 스크립트를 웹사이트에 붙여넣기만 하면, 당신의 페이지는 방문자에게 웃음과 몰입을 선사하는 작은 게임장이 됩니다.
코딩 초보자도 어렵지 않게 적용할 수 있고, 블로그, 포트폴리오, 교육용 사이트 등 어디에나 어울리는 클래식한 미니게임으로 활용해보세요.

반응형 디자인, 마우스 기반 조작, 자동 AI 상대까지!
복잡한 설정 없이 단 한 번의 복사로 웹 레트로 게임의 향수를 되살려 보세요.

Ping Pong 게임
Ping Pong 게임 코드 복사

Ping Pong 게임 스크립트 복사

아래 버튼을 클릭하면 전체 게임 스크립트가 복사됩니다.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Ping Pong 게임</title>
  <style>
    body {
      margin: 0;
      overflow: hidden;
    }
    canvas {
      background-color: black;
      display: block;
      margin: 0 auto;
    }
  </style>
</head>
<body>
  <canvas id="pingPongCanvas" width="800" height="400"></canvas>
  <script>
    const canvas = document.getElementById("pingPongCanvas");
    const context = canvas.getContext("2d");

    const paddleWidth = 10;
    const paddleHeight = 80;
    const ballSize = 10;

    const player = {
      x: 0,
      y: canvas.height / 2 - paddleHeight / 2,
      speed: 8,
    };

    const computer = {
      x: canvas.width - paddleWidth,
      y: canvas.height / 2 - paddleHeight / 2,
      speed: 4,
    };

    const ball = {
      x: canvas.width / 2,
      y: canvas.height / 2,
      speedX: 5,
      speedY: 5,
    };

    function drawPaddle(x, y) {
      context.fillStyle = 'white';
      context.fillRect(x, y, paddleWidth, paddleHeight);
    }

    function drawBall() {
      context.fillStyle = 'white';
      context.fillRect(ball.x, ball.y, ballSize, ballSize);
    }

    function moveComputerPaddle() {
      if (ball.x > canvas.width / 2) {
        if (ball.y > computer.y + paddleHeight / 2) {
          computer.y += computer.speed;
        } else {
          computer.y -= computer.speed;
        }
      }
    }

    function update() {
      context.clearRect(0, 0, canvas.width, canvas.height);

      moveComputerPaddle();

      ball.x += ball.speedX;
      ball.y += ball.speedY;

      if (ball.y < 0 || ball.y > canvas.height - ballSize) {
        ball.speedY *= -1;
      }

      if (
        ball.x < player.x + paddleWidth &&
        ball.y > player.y &&
        ball.y < player.y + paddleHeight
      ) {
        ball.speedX *= -1;
      }

      if (
        ball.x + ballSize > computer.x &&
        ball.y > computer.y &&
        ball.y < computer.y + paddleHeight
      ) {
        ball.speedX *= -1;
      }

      if (ball.x < 0 || ball.x + ballSize > canvas.width) {
        ball.x = canvas.width / 2;
        ball.y = canvas.height / 2;
        ball.speedX = 5;
        ball.speedY = 5;
      }

      drawPaddle(player.x, player.y);
      drawPaddle(computer.x, computer.y);
      drawBall();
    }

    canvas.addEventListener("mousemove", (e) => {
      player.y = e.clientY - canvas.getBoundingClientRect().top - paddleHeight / 2;
    });

    setInterval(update, 1000 / 60);
  </script>
</body>
</html>

© 2023 나의 웹 페이지