Jeu d'Esquive
About this app
Jeu d'esquive rapide avec score. Évitez les obstacles et augmentez votre score!
Jeu d'Esquive Score: 0
Related apps
Put this on your site
Source
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Jeu d'Esquive</title>
<meta name="description" content="Jeu d'esquive rapide avec score. Évitez les obstacles et augmentez votre score!">
<meta name="keywords" content="jeu, esquive, score, obstacle, game over, HTML, CSS, JavaScript">
<style>
body {
margin: 0;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
background: linear-gradient(135deg, #6e8efb, #a777e3);
font-family: 'Press Start 2P', cursive;
}
#game-container {
position: relative;
width: 300px;
height: 500px;
border: 5px solid #fff;
overflow: hidden;
background-color: #111;
}
.player {
width: 30px;
height: 30px;
position: absolute;
bottom: 20px;
left: 135px;
background-color: #4CAF50;
border-radius: 50%;
}
.obstacle {
width: 30px;
height: 30px;
position: absolute;
top: -30px;
background-color: #F44336;
border-radius: 50%;
}
#score {
color: #fff;
position: absolute;
top: 10px;
left: 10px;
}
</style>
</head>
<body>
<div id="game-container">
<div id="player" class="player"></div>
<div id="score">Score: 0</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
const player = $('#player');
const gameContainer = $('#game-container');
let score = 0;
let gameInterval;
let obstacleInterval;
let isGameOver = false;
function movePlayer(event) {
if (isGameOver) return;
const containerWidth = gameContainer.width();
const playerWidth = player.width();
const maxLeft = containerWidth - playerWidth;
let leftPos = player.position().left;
if (event.key === "ArrowLeft" && leftPos > 0) {
leftPos -= 10;
} else if (event.key === "ArrowRight" && leftPos < maxLeft) {
leftPos += 10;
}
player.css({ left: leftPos + 'px' });
}
function createObstacle() {
const obstacle = $('<div class="obstacle"></div>');
const position = Math.floor(Math.random() * (gameContainer.width() - obstacle.width()));
obstacle.css('left', position + 'px');
gameContainer.append(obstacle);
obstacle.animate({
top: gameContainer.height()
}, 1000, 'linear', function() {
if (!isGameOver) {
score++;
$('#score').text('Score: ' + score);
}
$(this).remove();
});
}
function checkCollision() {
const playerPos = player.position();
const playerWidth = player.width();
const playerHeight = player.height();
$('.obstacle').each(function() {
const obstaclePos = $(this).position();
const obstacleWidth = $(this).width();
const obstacleHeight = $(this).height();
if (playerPos.left < obstaclePos.left + obstacleWidth &&
playerPos.left + playerWidth > obstaclePos.left &&
playerPos.top < obstaclePos.top + obstacleHeight &&
playerPos.top + playerHeight > obstaclePos.top) {
gameOver();
}
});
}
function gameOver() {
isGameOver = true;
clearInterval(gameInterval);
clearInterval(obstacleInterval);
alert('Game Over! Votre score est ' + score);
window.location.reload();
}
function startGame() {
isGameOver = false;
score = 0;
$('#score').text('Score: ' + score);
gameInterval = setInterval(checkCollision, 100);
obstacleInterval = setInterval(createObstacle, 800);
}
$(document).on('keydown', movePlayer);
startGame();
</script>
</body>
</html>
NEW APPS
These are apps made by the community!