Calculator Tools Calculator Tools
Create

The Number 3 Game

Sep 8, 2023

About this app

Join the fun and help Number 3 escape from Number 1 and Number 2 in this exciting game!

The Number 3 Game 1 2 3

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>The Number 3 Game</title>
<meta name="description" content="Join the fun and help Number 3 escape from Number 1 and Number 2 in this exciting game!">
<meta name="keywords" content="number game, fun game, escape game, number 3 game">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/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=Baloo+Tamma+2&display=swap" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
document.addEventListener("DOMContentLoaded", function() {
const number1 = $("#number1");
const number2 = $("#number2");
const number3 = $("#number3");

// Move Number 1 and Number 2 randomly
setInterval(moveNumbers, 1000);

function moveNumbers() {
let number1Position = getRandomPosition();
let number2Position = getRandomPosition();

number1.css("left", number1Position.x);
number1.css("top", number1Position.y);

number2.css("left", number2Position.x);
number2.css("top", number2Position.y);
}

function getRandomPosition() {
const containerWidth = $("#main-container").width();
const containerHeight = $("#main-container").height();
const numberWidth = number1.width();
const numberHeight = number1.height();

const maxX = containerWidth - numberWidth;
const maxY = containerHeight - numberHeight;

const randomX = Math.floor(Math.random() * maxX);
const randomY = Math.floor(Math.random() * maxY);

return { x: randomX, y: randomY };
}

// Move Number 3 with arrow keys
$(document).keydown(function(e) {
const step = 10;
const position = number3.position();
let newX = position.left;
let newY = position.top;

switch(e.keyCode) {
case 37: // Left arrow
newX -= step;
break;
case 38: // Up arrow
newY -= step;
break;
case 39: // Right arrow
newX += step;
break;
case 40: // Down arrow
newY += step;
break;
}

const containerWidth = $("#main-container").width();
const containerHeight = $("#main-container").height();
const numberWidth = number3.width();
const numberHeight = number3.height();

if (newX < 0) {
newX = 0;
} else if (newX > containerWidth - numberWidth) {
newX = containerWidth - numberWidth;
}

if (newY < 0) {
newY = 0;
} else if (newY > containerHeight - numberHeight) {
newY = containerHeight - numberHeight;
}

number3.css("left", newX);
number3.css("top", newY);

checkCollision();
});

function checkCollision() {
const number1Position = number1.position();
const number2Position = number2.position();
const number3Position = number3.position();

if (isColliding(number1Position, number3Position) || isColliding(number2Position, number3Position)) {
alert("Game Over! Number 3 got caught by Number 1 or Number 2.");
location.reload();
}
}

function isColliding(rect1, rect2) {
return rect1.left < rect2.left + rect2.width &&
rect1.left + rect1.width > rect2.left &&
rect1.top < rect2.top + rect2.height &&
rect1.top + rect1.height > rect2.top;
}
});

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

<style>
/* App CSS Goes Here */
body {
background-color: #f0f0f0;
font-family: 'Baloo Tamma 2', cursive;
}

#main-container {
position: relative;
width: 100%;
height: 500px;
border: 2px solid #333;
background-color: #fff;
}

.number {
position: absolute;
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
font-size: 24px;
color: #fff;
border-radius: 50%;
background-color: #ff3a3a;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
transition: all 0.3s ease;
}

#number1 {
background-color: #ffa500;
}

#number2 {
background-color: #ffd700;
}

#number3 {
background-color: #00ff00;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div class="number" id="number1">1</div>
<div class="number" id="number2">2</div>
<div class="number" id="number3">3</div>
</div>
</body>
</html>