From 759fe657603c72e7780f81dd911fa6f01a9c1455 Mon Sep 17 00:00:00 2001 From: thisissahaj Date: Sat, 15 Jun 2024 10:25:27 +0530 Subject: [PATCH] Added Pong Game --- Games/Pong/README.md | 30 ++++ Games/Pong/assets/images/Pong.png | Bin 0 -> 24063 bytes Games/Pong/index.html | 39 +++++ Games/Pong/script.js | 257 ++++++++++++++++++++++++++++++ Games/Pong/styles.css | 84 ++++++++++ README.md | 2 +- assets/images/Pong.png | Bin 0 -> 24063 bytes 7 files changed, 411 insertions(+), 1 deletion(-) create mode 100644 Games/Pong/README.md create mode 100644 Games/Pong/assets/images/Pong.png create mode 100644 Games/Pong/index.html create mode 100644 Games/Pong/script.js create mode 100644 Games/Pong/styles.css create mode 100644 assets/images/Pong.png diff --git a/Games/Pong/README.md b/Games/Pong/README.md new file mode 100644 index 0000000000..c2919cb014 --- /dev/null +++ b/Games/Pong/README.md @@ -0,0 +1,30 @@ +# **Game_Name** + +Pong + +
+ +## **Description 📃** +- Pong is a classic arcade game that simulates table tennis. Players control paddles on either side of the screen, moving them vertically to hit a ball back and forth. + + +## **functionalities 🎮** +- Start: to start the game +- Restart: to restart the game +- Difficulty: choose difficulty level between easy/medium/hard + +
+ +## **How to play? 🕹ī¸** +- Click the Start button +- Use the up and down arrow keys to move your paddle. +- Score 5 points to win +- First to reach 5 points wins! + +
+ +## **Screenshots 📸** + +
+[image](/Games/Pong/assets/images/Pong.png) + diff --git a/Games/Pong/assets/images/Pong.png b/Games/Pong/assets/images/Pong.png new file mode 100644 index 0000000000000000000000000000000000000000..add46421f46c75b3451d2fc9b5ce657584b90d06 GIT binary patch literal 24063 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 O+vgYLTlL-X3;zNEAjHW4 literal 0 HcmV?d00001 diff --git a/Games/Pong/index.html b/Games/Pong/index.html new file mode 100644 index 0000000000..d90358e73a --- /dev/null +++ b/Games/Pong/index.html @@ -0,0 +1,39 @@ + + + + + + Pong Game + + + +
+
+ + + + +
+
+

How to Play

+

Use the up and down arrow keys to move your paddle.

+

Score 5 points to win.

+

First to reach 5 points wins!

+
+ +
+ + + + +
+
+
+ + + + diff --git a/Games/Pong/script.js b/Games/Pong/script.js new file mode 100644 index 0000000000..e1ec04d04f --- /dev/null +++ b/Games/Pong/script.js @@ -0,0 +1,257 @@ +const canvas = document.getElementById('pongCanvas'); +const context = canvas.getContext('2d'); + +const paddleWidth = 10, paddleHeight = 100; +const ballRadius = 10; +let upArrowPressed = false, downArrowPressed = false; +let gamePaused = true; + +const player = { + x: 0, + y: canvas.height / 2 - paddleHeight / 2, + width: paddleWidth, + height: paddleHeight, + color: '#fff', + score: 0 +}; + +const computer = { + x: canvas.width - paddleWidth, + y: canvas.height / 2 - paddleHeight / 2, + width: paddleWidth, + height: paddleHeight, + color: '#fff', + score: 0 +}; + +const ball = { + x: canvas.width / 2, + y: canvas.height / 2, + radius: ballRadius, + speed: 5, + velocityX: 5, + velocityY: 5, + color: '#05EDFF' +}; + +let difficultyLevel = 'easy'; // Default difficulty level + +function drawRect(x, y, w, h, color) { + context.fillStyle = color; + context.fillRect(x, y, w, h); +} + +function drawCircle(x, y, r, color) { + context.fillStyle = color; + context.beginPath(); + context.arc(x, y, r, 0, Math.PI * 2, false); + context.closePath(); + context.fill(); +} + +function drawText(text, x, y, color, font = '35px Arial') { + context.fillStyle = color; + context.font = font; + context.fillText(text, x, y); +} + +function render() { + drawRect(0, 0, canvas.width, canvas.height, '#000'); + + drawText(player.score, canvas.width / 4, canvas.height / 5, '#fff'); + drawText(computer.score, 3 * canvas.width / 4, canvas.height / 5, '#fff'); + + drawRect(player.x, player.y, player.width, player.height, player.color); + drawRect(computer.x, computer.y, computer.width, computer.height, computer.color); + + drawCircle(ball.x, ball.y, ball.radius, ball.color); +} + +function movePaddles() { + if (upArrowPressed && player.y > 0) { + player.y -= 8; + } else if (downArrowPressed && (player.y < canvas.height - player.height)) { + player.y += 8; + } + + + let computerSpeed = 6; + switch (difficultyLevel) { + case 'easy': + computerSpeed = 6; + break; + case 'medium': + computerSpeed = 8; + break; + case 'hard': + computerSpeed = 10; + break; + default: + computerSpeed = 6; + } + + let computerY = computer.y + computer.height / 2; + if (ball.y < computerY - 10) { + computer.y -= computerSpeed; + } else if (ball.y > computerY + 10) { + computer.y += computerSpeed; + } + if (computer.y < 0) { + computer.y = 0; + } else if (computer.y + computer.height > canvas.height) { + computer.y = canvas.height - computer.height; + } +} + +function update() { + if (!gamePaused) { + movePaddles(); + + ball.x += ball.velocityX; + ball.y += ball.velocityY; + + // Adjust ball speed based on difficulty level + switch (difficultyLevel) { + case 'easy': + ball.speed = 7; + break; + case 'medium': + ball.speed = 10; + break; + case 'hard': + ball.speed = 15; + break; + default: + ball.speed = 7; + } + + if (ball.y + ball.radius > canvas.height || ball.y - ball.radius < 0) { + ball.velocityY = -ball.velocityY; + } + + let playerPaddle = (ball.x < canvas.width / 2) ? player : computer; + + if (collision(ball, playerPaddle)) { + let collidePoint = (ball.y - (playerPaddle.y + playerPaddle.height / 2)); + collidePoint = collidePoint / (playerPaddle.height / 2); + + let angleRad = collidePoint * (Math.PI / 4); + + let direction = (ball.x < canvas.width / 2) ? 1 : -1; + ball.velocityX = direction * ball.speed * Math.cos(angleRad); + ball.velocityY = ball.speed * Math.sin(angleRad); + + ball.speed += 0.5; + } + + if (ball.x - ball.radius < 0) { + computer.score++; + if (computer.score >= 5) { + endGame(computer); + } else { + resetBall(); + } + } else if (ball.x + ball.radius > canvas.width) { + player.score++; + if (player.score >= 5) { + endGame(player); + } else { + resetBall(); + } + } + } +} + +function collision(b, p) { + b.top = b.y - b.radius; + b.bottom = b.y + b.radius; + b.left = b.x - b.radius; + b.right = b.x + b.radius; + + p.top = p.y; + p.bottom = p.y + p.height; + p.left = p.x; + p.right = p.x + p.width; + + return b.right > p.left && b.bottom > p.top && b.left < p.right && b.top < p.bottom; +} + +function resetBall() { + ball.x = canvas.width / 2; + ball.y = canvas.height / 2; + ball.speed = 5; + ball.velocityX = -ball.velocityX; +} + +function startGame() { + gamePaused = false; + document.getElementById('startButton').disabled = true; + document.getElementById('restartButton').disabled = false; +} + +function restartGame() { + gamePaused = true; + player.score = 0; + computer.score = 0; + resetBall(); + document.getElementById('startButton').disabled = false; + document.getElementById('restartButton').disabled = true; + + const resultDiv = document.querySelector('.result'); + resultDiv.innerHTML = ''; +} + +function endGame(winner) { + gamePaused = true; + + document.getElementById('startButton').disabled = true; + document.getElementById('restartButton').disabled = false; + + // Display winner + const resultDiv = document.querySelector('.result'); + resultDiv.innerHTML = ` +
+

Game Over

+

${winner === player ? 'Player' : 'Computer'} Wins!

+

Press Restart to Play Again

+
+ `; +} + +function handleDifficultyChange() { + difficultyLevel = document.getElementById('difficulty').value; +} + +function gameLoop() { + update(); + render(); +} + +setInterval(gameLoop, 1000 / 60); + +window.addEventListener('keydown', (event) => { + switch (event.keyCode) { + case 38: + upArrowPressed = true; + break; + case 40: + downArrowPressed = true; + break; + } +}); + +window.addEventListener('keyup', (event) => { + switch (event.keyCode) { + case 38: + upArrowPressed = false; + break; + case 40: + downArrowPressed = false; + break; + } +}); + +document.getElementById('startButton').addEventListener('click', startGame); +document.getElementById('restartButton').addEventListener('click', restartGame); +document.getElementById('difficulty').addEventListener('change', handleDifficultyChange); + diff --git a/Games/Pong/styles.css b/Games/Pong/styles.css new file mode 100644 index 0000000000..5c86abb28e --- /dev/null +++ b/Games/Pong/styles.css @@ -0,0 +1,84 @@ +body { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100vh; + margin: 0; + background: #000; + font-family: Arial, sans-serif; +} + +canvas { + border: 1px solid #fff; +} +.container{ + width: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} + +.result{ + color: white; + margin-top: -200px; + text-align: center; + margin-bottom: 100px; +} +.result span{ + color: yellow; + text-transform: uppercase; + font-weight: bold; +} +.game-info { + display: flex; + justify-content: center; + align-items: center; + padding: 20px; + flex-direction: column; +} + +.instructions { + background-color: rgba(255, 255, 255, 0.8); + border: 1px solid #ccc; + border-radius: 4px; + width: 200px; + text-align: left; + font-size: 14px; + padding: 10px; + margin-bottom: 20px; +} + +.controls { + text-align: center; +} + +.controls button { + font-size: 18px; + margin: 0 10px; + padding: 10px 20px; + cursor: pointer; + background-color: #007BFF; + color: #fff; + border: none; + border-radius: 4px; + outline: none; + transition: background-color 0.3s ease; +} + +.controls button:hover { + background-color: #0056b3; +} + +.controls label { + margin-right: 10px; + font-size: 16px; +} + +.controls select { + font-size: 16px; + padding: 8px; + border-radius: 4px; + outline: none; +} diff --git a/README.md b/README.md index 14d2672c4d..7cc9462cc1 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ This repository also provides one such platforms where contributers come over an | [Ball_Shooting_Game](https://github.com/kunjgit/GameZone/tree/main/Games/Ball_Shooting_Game) | [CatchTheBall](https://github.com/kunjgit/GameZone/tree/main/Games/CatchTheBall) | | [Ball_Shooting_Game](https://github.com/kunjgit/GameZone/tree/main/Games/Ball_Shooting_Game) | [DoraemonRun ](https://github.com/kunjgit/GameZone/tree/main/Games/DoraemonRun) | | [Memory_Cards_Game](https://github.com/kunjgit/GameZone/tree/main/Games/Memory_Cards_Game) | -| [Typing_Speed_Test2](https://github.com/kunjgit/GameZone/tree/main/Games/Typing_Speed_Test2) | [Tic Tac Toe Responsive ](https://github.com/kunjgit/GameZone/tree/main/Games/Tic_tac_toe_responsive) | [Minesweeper Easy ](https://github.com/kunjgit/GameZone/tree/main/Games/MineSweeper_Easy) | +| [Typing_Speed_Test2](https://github.com/kunjgit/GameZone/tree/main/Games/Typing_Speed_Test2) | [Tic Tac Toe Responsive ](https://github.com/kunjgit/GameZone/tree/main/Games/Tic_tac_toe_responsive) | [Minesweeper Easy ](https://github.com/kunjgit/GameZone/tree/main/Games/MineSweeper_Easy) | [Pong](https://github.com/kunjgit/GameZone/tree/main/Games/Pong) | | [Technical_Mind_Game](https://github.com/kunjgit/GameZone/tree/main/Games/Technical_Mind_Game) | [Slide_Master_Puzzle](https://github.com/kunjgit/GameZone/tree/Main/Games/Slide_Master_Puzz)| | | [Ball_Shooting_Game](https://github.com/kunjgit/GameZone/tree/main/Games/Ball_Shooting_Game) | [Letter_Sleuth](https://github.com/swetha5157/GameZone/tree/main/Games/Letter_Sleuth) diff --git a/assets/images/Pong.png b/assets/images/Pong.png new file mode 100644 index 0000000000000000000000000000000000000000..add46421f46c75b3451d2fc9b5ce657584b90d06 GIT binary patch literal 24063 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 O+vgYLTlL-X3;zNEAjHW4 literal 0 HcmV?d00001