Calculator Tools Calculator Tools
Create

Drone Attack Game

Sep 24, 2023

About this app

A thrilling game where you control a Ukrainian drone to drop ammunition on Russian military forces. Can you defeat them all?

Drone Attack Game Drone Attack Game Score: 0 Start Game Drop Ammunition

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Drone Attack Game</title>
<meta name="description" content="A thrilling game where you control a Ukrainian drone to drop ammunition on Russian military forces. Can you defeat them all?">
<meta name="keywords" content="drone, game, Russian military, Ukrainian drone, ammunition">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.2/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
var score = 0;
var speed = 1000;
var intervalId;

function startGame() {
score = 0;
speed = 1000;
clearInterval(intervalId);
intervalId = setInterval(function() {
createRussianMilitary();
}, speed);
}

function createRussianMilitary() {
var russianMilitary = document.createElement("div");
russianMilitary.classList.add("russian-military");
russianMilitary.style.left = Math.floor(Math.random() * 90) + "%";
document.getElementById("main-container").appendChild(russianMilitary);

moveRussianMilitary(russianMilitary);
}

function moveRussianMilitary(russianMilitary) {
var position = 0;
var randomSpeed = Math.floor(Math.random() * 10) + 1;

var moveIntervalId = setInterval(function() {
if (position === 100) {
clearInterval(moveIntervalId);
russianMilitary.remove();
} else {
position += randomSpeed;
russianMilitary.style.top = position + "%";
}
}, 10);
}

function dropAmmunition() {
var ammunition = document.createElement("div");
ammunition.classList.add("ammunition");
ammunition.style.left = document.getElementById("drone").style.left;
document.getElementById("main-container").appendChild(ammunition);

moveAmmunition(ammunition);
}

function moveAmmunition(ammunition) {
var position = 100;

var moveIntervalId = setInterval(function() {
if (position === 0) {
clearInterval(moveIntervalId);
ammunition.remove();
} else {
position -= 1;
ammunition.style.bottom = position + "%";

checkCollision(ammunition);
}
}, 10);
}

function checkCollision(ammunition) {
var ammunitionRect = ammunition.getBoundingClientRect();

var russianMilitaryElements = document.getElementsByClassName("russian-military");

for (var i = 0; i < russianMilitaryElements.length; i++) {
var russianMilitaryRect = russianMilitaryElements[i].getBoundingClientRect();

if (ammunitionRect.left >= russianMilitaryRect.left &&
ammunitionRect.right <= russianMilitaryRect.right &&
ammunitionRect.top >= russianMilitaryRect.top &&
ammunitionRect.bottom <= russianMilitaryRect.bottom) {
russianMilitaryElements[i].remove();
ammunition.remove();
score++;

if (score % 5 === 0) {
speed -= 100;
clearInterval(intervalId);
intervalId = setInterval(function() {
createRussianMilitary();
}, speed);
}
}
}
}

document.getElementById("start-button").addEventListener("click", function() {
startGame();
});

document.getElementById("drop-button").addEventListener("click", function() {
dropAmmunition();
});
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
body {
background-color: #f1f1f1;
font-family: 'Roboto', sans-serif;
}

#main-container {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 50px;
}

#game-container {
position: relative;
width: 500px;
height: 300px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

#drone {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 40px;
background-color: #ff5722;
border-radius: 50%;
z-index: 1;
}

.russian-military {
position: absolute;
top: 0;
left: 0;
width: 30px;
height: 30px;
background-color: #03a9f4;
border-radius: 50%;
z-index: 0;
}

.ammunition {
position: absolute;
bottom: 50px;
left: 50%;
transform: translateX(-50%);
width: 10px;
height: 20px;
background-color: #4caf50;
z-index: 1;
}

#score {
margin-top: 20px;
font-size: 24px;
font-weight: bold;
}

#buttons-container {
display: flex;
justify-content: center;
margin-top: 20px;
}

.button {
border: none;
border-radius: 4px;
padding: 10px 20px;
margin: 0 10px;
font-size: 16px;
font-weight: bold;
color: #fff;
background-color: #2196f3;
cursor: pointer;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Drone Attack Game</h1>
<div id="game-container">
<div id="drone"></div>
<div id="score">Score: 0</div>
</div>
<div id="buttons-container">
<button id="start-button" class="button">Start Game</button>
<button id="drop-button" class="button">Drop Ammunition</button>
</div>
</div>
</body>
</html>