-
Notifications
You must be signed in to change notification settings - Fork 839
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
145 changed files
with
26,267 additions
and
627 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"liveServer.settings.port": 5501 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Ball Shooting Game | ||
|
||
This is a simple ball shooting game where you shoot balls to hit targets. The game is built using HTML, CSS, and JavaScript. | ||
|
||
## How to Play | ||
|
||
- Click anywhere on the canvas to shoot a ball. | ||
- Hit the targets with the balls to score points. | ||
- Each target hit increases your score by 10 points. | ||
- The game continues indefinitely, with new targets appearing as you hit them. | ||
|
||
## Project Structure | ||
|
||
The project consists of the following files: | ||
|
||
- `index.html`: The main HTML file that contains the structure of the game. | ||
- `styles.css`: The CSS file that styles the game. | ||
- `script.js`: The JavaScript file that contains the game logic. | ||
|
||
## Setup and Installation | ||
|
||
1. Clone the repository or download the project files. | ||
2. Open `index.html` in your web browser to start the game. | ||
|
||
## Gameplay | ||
Click on the canvas to shoot balls. | ||
Aim to hit the red targets. | ||
Each hit adds 10 points to your score. | ||
The game is endless; try to score as high as you can! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>Ball Shooting Game</title> | ||
<link rel="stylesheet" href="styles.css"> | ||
</head> | ||
<body> | ||
<div id="gameContainer"> | ||
<canvas id="gameCanvas"></canvas> | ||
<div id="score">Score: 0</div> | ||
</div> | ||
<script src="script.js"></script> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
// script.js | ||
const canvas = document.getElementById('gameCanvas'); | ||
const ctx = canvas.getContext('2d'); | ||
const scoreElement = document.getElementById('score'); | ||
canvas.width = 800; | ||
canvas.height = 600; | ||
|
||
let score = 0; | ||
let balls = []; | ||
let targets = []; | ||
const ballRadius = 5; | ||
const targetRadius = 20; | ||
const ballSpeed = 5; | ||
|
||
// Function to create a new ball | ||
function createBall(x, y) { | ||
balls.push({ x, y, dx: ballSpeed, dy: ballSpeed }); | ||
} | ||
|
||
// Function to create targets at random positions | ||
function createTarget() { | ||
const x = Math.random() * (canvas.width - 2 * targetRadius) + targetRadius; | ||
const y = Math.random() * (canvas.height - 2 * targetRadius) + targetRadius; | ||
targets.push({ x, y }); | ||
} | ||
|
||
// Function to update the positions of balls | ||
function updateBalls() { | ||
balls.forEach((ball, index) => { | ||
ball.x += ball.dx; | ||
ball.y += ball.dy; | ||
|
||
// Check for collisions with walls | ||
if (ball.x + ballRadius > canvas.width || ball.x - ballRadius < 0) { | ||
ball.dx = -ball.dx; | ||
} | ||
if (ball.y + ballRadius > canvas.height || ball.y - ballRadius < 0) { | ||
ball.dy = -ball.dy; | ||
} | ||
|
||
// Check for collisions with targets | ||
targets.forEach((target, targetIndex) => { | ||
const dist = Math.hypot(ball.x - target.x, ball.y - target.y); | ||
if (dist < ballRadius + targetRadius) { | ||
targets.splice(targetIndex, 1); | ||
balls.splice(index, 1); | ||
score += 10; | ||
scoreElement.innerText = `Score: ${score}`; | ||
createTarget(); | ||
} | ||
}); | ||
}); | ||
} | ||
|
||
// Function to draw the balls | ||
function drawBalls() { | ||
balls.forEach(ball => { | ||
ctx.beginPath(); | ||
ctx.arc(ball.x, ball.y, ballRadius, 0, Math.PI * 2); | ||
ctx.fillStyle = '#00f'; | ||
ctx.fill(); | ||
ctx.closePath(); | ||
}); | ||
} | ||
|
||
// Function to draw the targets | ||
function drawTargets() { | ||
targets.forEach(target => { | ||
ctx.beginPath(); | ||
ctx.arc(target.x, target.y, targetRadius, 0, Math.PI * 2); | ||
ctx.fillStyle = '#f00'; | ||
ctx.fill(); | ||
ctx.closePath(); | ||
}); | ||
} | ||
|
||
// Function to draw everything | ||
function draw() { | ||
ctx.clearRect(0, 0, canvas.width, canvas.height); | ||
drawBalls(); | ||
drawTargets(); | ||
} | ||
|
||
// Main game loop | ||
function gameLoop() { | ||
updateBalls(); | ||
draw(); | ||
requestAnimationFrame(gameLoop); | ||
} | ||
|
||
// Event listener to shoot balls | ||
canvas.addEventListener('click', (e) => { | ||
const rect = canvas.getBoundingClientRect(); | ||
const x = e.clientX - rect.left; | ||
const y = e.clientY - rect.top; | ||
createBall(x, y); | ||
}); | ||
|
||
// Initialize the game | ||
createTarget(); | ||
gameLoop(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/* styles.css */ | ||
body { | ||
margin: 0; | ||
padding: 0; | ||
display: flex; | ||
justify-content: center; | ||
align-items: center; | ||
height: 100vh; | ||
background: linear-gradient(to right, #ff7e5f, #feb47b); | ||
font-family: Arial, sans-serif; | ||
} | ||
|
||
#gameContainer { | ||
position: relative; | ||
} | ||
|
||
#gameCanvas { | ||
background-color: #fff; | ||
border: 2px solid #000; | ||
} | ||
|
||
#score { | ||
position: absolute; | ||
top: 10px; | ||
left: 10px; | ||
font-size: 20px; | ||
color: #333; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,7 @@ Battleship | |
|
||
## **Screenshots 📸** | ||
|
||
<br> | ||
|
||
![image](../../assets/images/Battleship.png) | ||
|
||
<br> | ||
<br> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Earth Guardian | ||
|
||
|
||
------------------- | ||
|
||
<br> | ||
|
||
## **Description 📃** | ||
-Earth Guardian is a remake of the classic Space shooter type of games, with 8-bit (pixel art) assets. This project used free assets (music and graphics) provided by [Jonathan So](https://jonathan-so.itch.io/),[KennyNL](https://kenney.nl/) and other sources, like Google images and [OpenGameArt](https://opengameart.org). This was a learning project. There will be some updates in the near future. Hope you like it, have fun! | ||
|
||
|
||
## **functionalities 🎮** | ||
1. This a classic space shooter game . | ||
2. It has a timer going on , before the timer end you have to kill more more alien ships , it will be your final score | ||
3. You can store your timer and health by collecting the time and health. | ||
|
||
<br> | ||
|
||
## **How to play? 🕹️** | ||
|
||
- Use arrow keys to move the ship ! | ||
- Press spacebar to shoot ! | ||
- Hold shift key to use booster! | ||
|
||
<br> | ||
|
||
###### Bugs: | ||
* Minor bug with multiple keys pressed movement (LEFT UP AND SHOOT); | ||
|
||
<br> | ||
|
||
## **Screenshots 📸** | ||
|
||
<br> | ||
![Game image] <img src="../../assets/images/Earth_Guardian.png"> | ||
|
||
<br> | ||
|
||
---------- | ||
#### Releases: | ||
##### v1.0.0 - May 14 2024 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
20 changes: 20 additions & 0 deletions
20
Games/Earth_Guardian/assets/audio/explosion_enemy.wav.meta
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Binary file not shown.
20 changes: 20 additions & 0 deletions
20
Games/Earth_Guardian/assets/audio/explosion_player.wav.meta
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
20 changes: 20 additions & 0 deletions
20
Games/Earth_Guardian/assets/audio/music_background.wav.meta
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.