Skip to content

Commit

Permalink
Merge pull request #973 from pallasivasai/basketball
Browse files Browse the repository at this point in the history
Basketball is added
  • Loading branch information
Durgesh4993 authored Jun 8, 2024
2 parents 9eac393 + 1d00269 commit b3717e4
Show file tree
Hide file tree
Showing 10 changed files with 521 additions and 0 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,12 +244,15 @@ ________________________________________________________________________________
| 186 | [Quick Type](.SinglePlayer%20-%20Games/QuickType) |
| 187 | [SIMON_GAME](.SinglePlayer%20-%20Games/SIMON_GAME) |
| 188 | [Cubula_Game](.SinglePlayer%20-%20Games/Cubula_Game) |
| 189 | [Ball_Shooting_Game](.SinglePlayer%20-%20Games/Ball_Shooting_Game) |
| 190 | [Baseball_Game](.SinglePlayer%20-%20Games/Baseball_Game) |
| 189 | [Hand_Cricket_Champ](./SinglePlayer%20-%20Games/Hand_Cricket_Champ) |
| 190 | [Pop My Balloon](<MultiPlayer - Games/Pop_My_Balloon>) |
| 191 | [Doraemon Run](.SinglePlayer%20-%20Games/DoraemonRun) |
| 192 | [Hand_Cricket_Champ](./SinglePlayer%20-%20Games/Hand_Cricket_Champ) |
| 193 | [SnakeBites Game](./SinglePlayer%20-%20Games/SnakeBites) |
| 194 | [Ball_Shooting_Game](.SinglePlayer%20-%20Games/Ball_Shooting_Game) |
| 195 | [Baseball_Game](.SinglePlayer%20-%20Games/Baseball_Game) |



Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions SinglePlayer - Games/Baseball_Game/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# **Baseball Blitz!**

---

<br>

## **Description 📃**
<!-- add your game description here -->
- This baseball game using HTML, CSS, and JavaScript. It aims to provide an immersive and enjoyable experience for players.

## **functionalities 🎮**
<!-- add functionalities over here -->
Baseball gameplay mechanics, including pitching, hitting, fielding, and baserunning.
Introduce a multiplayer mode that allows players to compete against each other online.
Multiple difficulty levels to cater to players of different skill levels.
Track and display comprehensive game statistics and score.
<br>

## **How to play? 🕹️**
<!-- add the steps how to play games -->
- To play this baseball game, click the "Hit!" button to swing the bat and try to hit the ball. Score runs by successfully hitting the ball and advancing your baserunners, while aiming to achieve the highest score possible.

<br>


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
108 changes: 108 additions & 0 deletions SinglePlayer - Games/Baseball_Game/extra.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
var scoreboardElement = document.getElementById("scoreboard");
var inningElement = document.getElementById("inning");
var outsElement = document.getElementById("outs");
var scoreElement = document.getElementById("score");
var leaderboardElement = document.getElementById("leaderboard");

var leaderboard = [];

function updateLeaderboard() {
leaderboardElement.innerHTML = "<h3>Leaderboard</h3>";
leaderboard.sort(function(a, b) {
return b.score - a.score;
});

for (var i = 0; i < leaderboard.length; i++) {
var player = leaderboard[i];
var playerElement = document.createElement("div");
playerElement.className = "player";
playerElement.innerHTML = "<span class='player-name'>" + player.name + "</span><span class='player-score'>" + player.score + "</span>";
leaderboardElement.appendChild(playerElement);
}
}

function addToLeaderboard() {
var playerName = prompt("Congratulations! You made the leaderboard!\nEnter your name:");
if (playerName) {
var player = {
name: playerName,
score: score
};
leaderboard.push(player);
updateLeaderboard();
}
}

function resetGame() {
leaderboard = [];
updateLeaderboard();
score = 0;
inning = 1;
outs = 0;
hitCount = 0;
updateInningDisplay();
updateOutsDisplay();
updateScoreDisplay();
resultElement.textContent = "Game Reset. Good luck!";
setTimeout(startNextInning, 2000);
}

function saveGame() {
var gameData = {
leaderboard: leaderboard,
score: score,
inning: inning,
outs: outs,
hitCount: hitCount
};
var gameDataJSON = JSON.stringify(gameData);
localStorage.setItem("baseballGame", gameDataJSON);
alert("Game saved successfully!");
}

function loadGame() {
var gameDataJSON = localStorage.getItem("baseballGame");
if (gameDataJSON) {
var gameData = JSON.parse(gameDataJSON);
leaderboard = gameData.leaderboard || [];
score = gameData.score || 0;
inning = gameData.inning || 1;
outs = gameData.outs || 0;
hitCount = gameData.hitCount || 0;
updateLeaderboard();
updateInningDisplay();
updateOutsDisplay();
updateScoreDisplay();
resultElement.textContent = "Game Loaded. Continue playing!";
} else {
alert("No saved game data found!");
}
}

function clearLocalStorage() {
localStorage.removeItem("baseballGame");
alert("Game data cleared from local storage!");
}

function updateInningDisplay() {
inningElement.textContent = "Inning: " + inning;
}

function updateOutsDisplay() {
outsElement.textContent = "Outs: " + outs;
}

function updateScoreDisplay() {
scoreElement.textContent = "Score: " + score;
}

function endGame() {
gameInProgress = false;
resultElement.textContent = "Game Over! Final Score: " + score;
addToLeaderboard();
}

document.getElementById("resetButton").addEventListener("click", resetGame);
document.getElementById("saveButton").addEventListener("click", saveGame);
document.getElementById("loadButton").addEventListener("click", loadGame);
document.getElementById("clearButton").addEventListener("click", clearLocalStorage);
40 changes: 40 additions & 0 deletions SinglePlayer - Games/Baseball_Game/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<!DOCTYPE html>
<html>
<head>
<title>Baseball Game</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<h1>Baseball Game</h1>
<div class="field">
<div class="pitcher">
<img src="./assets/batter.jpeg" alt="Pitcher">
</div>
<button id="hitButton">Hit!</button>
<div class="result" id="result"></div>
<div class="batter">
<img src="./assets/pitcher.jpeg" alt="Batter">
</div>
</div>
<div class="scoreboard" id="scoreboard">
<div class="scoreboard-title">Scoreboard</div>
<div class="scoreboard-row">
<div class="label">Inning:</div>
<div id="inning" class="score">1</div>
</div>
<div class="scoreboard-row">
<div class="label">Outs:</div>
<div id="outs" class="score">0</div>
</div>
<div class="scoreboard-row">
<div class="label">Score:</div>
<div id="score" class="score">0</div>
</div>
</div>
</div>

<script src="script.js"></script>
<script src="extra.js"></script>
</body>
</html>
102 changes: 102 additions & 0 deletions SinglePlayer - Games/Baseball_Game/script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
var hitButton = document.getElementById("hitButton");
var resultElement = document.getElementById("result");
var pitcherElement = document.querySelector(".pitcher");
var batterElement = document.querySelector(".batter");
var strikes = 0;
var balls = 0;
var score = 0;
var inning = 1;
var outs = 0;
var gameInProgress = false;
var hitCount = 0;

function hit() {
if (!gameInProgress) {
gameInProgress = true;
resultElement.textContent = "Game Started. Good luck!";
setTimeout(startNextInning, 2000);
return;
}

if (outs >= 3) {
endInning();
return;
}

hitButton.disabled = true;
pitcherElement.classList.add("pitcher-throw");
setTimeout(function() {
pitcherElement.classList.remove("pitcher-throw");
var randomNumber = Math.floor(Math.random() * 10) + 1;
if (randomNumber % 2 === 1) {
strikes++;
resultElement.textContent = "Strike " + strikes;
} else {
balls++;
resultElement.textContent = "Ball " + balls;
}
if (strikes === 3) {
resultElement.textContent = "Strikeout!";
outs++;
updateOutsDisplay();
} else if (balls === 4) {
resultElement.textContent = "Walked!";
score++;
updateScoreDisplay();
}
setTimeout(function() {
hitButton.disabled = false;
}, 1000);
}, 1000);
batterElement.classList.add("batter-swing");
setTimeout(function() {
batterElement.classList.remove("batter-swing");
}, 500);

hitCount++;
if (hitCount >= 10) {
hitButton.disabled = true;
setTimeout(endGame, 2000);
}
}

function startNextInning() {
inning++;
strikes = 0;
balls = 0;
outs = 0;
hitCount = 0;
updateInningDisplay();
updateOutsDisplay();
updateScoreDisplay();
resultElement.textContent = "Inning " + inning + " - Ready to play!";
hitButton.disabled = false;
}

function endInning() {
resultElement.textContent = "Three outs! Inning over.";
hitButton.disabled = true;
setTimeout(startNextInning, 2000);
}

function endGame() {
gameInProgress = false;
resultElement.textContent = "Game Over! Final Score: " + score;
}

function updateInningDisplay() {
var inningElement = document.getElementById("inning");
inningElement.textContent = "Inning: " + inning;
}

function updateOutsDisplay() {
var outsElement = document.getElementById("outs");
outsElement.textContent = "Outs: " + outs;
}

function updateScoreDisplay() {
var scoreElement = document.getElementById("score");
scoreElement.textContent = "Score: " + score;
}

hitButton.addEventListener("click", hit);
Loading

0 comments on commit b3717e4

Please sign in to comment.