Calculator Tools Calculator Tools
Create

Permainan Pesawat Terbang

Nov 4, 2023

About this app

Permainan pesawat terbang yang melewati rintangan

Permainan Pesawat Terbang Permainan Pesawat Terbang Score: 0

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>Permainan Pesawat Terbang</title>
<meta name="description" content="Permainan pesawat terbang yang melewati rintangan">
<meta name="keywords" content="permainan, pesawat terbang, rintangan">

<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">

<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() {
const gameContainer = document.getElementById('game-container');
const plane = document.getElementById('plane');
let gameStarted = false;
let gamePaused = false;
let score = 0;

function startGame() {
gameStarted = true;
gamePaused = false;
score = 0;
plane.style.top = '50%';
plane.style.left = '50%';
gameContainer.innerHTML = '';
gameContainer.appendChild(plane);

// Add event listeners for controls
document.addEventListener('keydown', movePlane);
document.addEventListener('keyup', stopPlane);

// Start game loop
gameLoop();
}

function gameLoop() {
if (!gameStarted || gamePaused) return;

// Move plane
const planeTop = parseInt(plane.style.top);
const planeLeft = parseInt(plane.style.left);

if (planeTop > 0) {
plane.style.top = (planeTop - 5) + 'px';
}

if (planeLeft > 0) {
plane.style.left = (planeLeft - 5) + 'px';
}

// Check for collision with obstacles
const obstacles = document.getElementsByClassName('obstacle');
Array.from(obstacles).forEach(function(obstacle) {
const obstacleTop = parseInt(obstacle.style.top);
const obstacleLeft = parseInt(obstacle.style.left);

if (planeTop < obstacleTop + obstacle.offsetHeight &&
planeTop + plane.offsetHeight > obstacleTop &&
planeLeft < obstacleLeft + obstacle.offsetWidth &&
planeLeft + plane.offsetWidth > obstacleLeft) {
endGame();
}
});

// Update score
score++;
const scoreElement = document.getElementById('score');
scoreElement.textContent = 'Score: ' + score;

// Create new obstacles
if (score % 50 === 0) {
const obstacle = document.createElement('div');
obstacle.className = 'obstacle';
obstacle.style.top = (Math.random() * 90) + '%';
obstacle.style.left = '100%';
gameContainer.appendChild(obstacle);
}

// Remove obstacles that have gone off screen
Array.from(obstacles).forEach(function(obstacle) {
const obstacleLeft = parseInt(obstacle.style.left);

if (obstacleLeft < -obstacle.offsetWidth) {
obstacle.parentNode.removeChild(obstacle);
} else {
obstacle.style.left = (obstacleLeft - 5) + 'px';
}
});

// Call game loop again
requestAnimationFrame(gameLoop);
}

function movePlane(event) {
if (event.key === 'ArrowUp') {
plane.style.top = (parseInt(plane.style.top) - 10) + 'px';
} else if (event.key === 'ArrowDown') {
plane.style.top = (parseInt(plane.style.top) + 10) + 'px';
} else if (event.key === 'ArrowLeft') {
plane.style.left = (parseInt(plane.style.left) - 10) + 'px';
} else if (event.key === 'ArrowRight') {
plane.style.left = (parseInt(plane.style.left) + 10) + 'px';
}
}

function stopPlane() {
// Stop plane movement when key is released
}

function endGame() {
gameStarted = false;
gamePaused = true;
alert('Game Over! Your score is: ' + score);
}

// Initialize game
startGame();
});

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

<style>
/* App CSS Goes Here */
#game-container {
width: 500px;
height: 500px;
position: relative;
border: 1px solid #000;
margin: 0 auto;
overflow: hidden;
}

#plane {
width: 50px;
height: 50px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #ff0000;
}

.obstacle {
width: 20px;
height: 100px;
position: absolute;
top: 0;
left: 100%;
background-color: #000;
}

#score {
margin-top: 10px;
text-align: center;
font-size: 20px;
font-weight: bold;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Permainan Pesawat Terbang</h1>
<div id="game-container">
<div id="plane"></div>
</div>
<div id="score">Score: 0</div>
</div>
</body>
</html>