<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Emoji Game</title>
<style>
#container {
width: 500px;
height: 500px;
border: 5px solid green;
position: relative;
}
.emoji {
position: absolute;
font-size: 3em;
}
</style>
</head>
<body>
<div id="container"></div>
<script>
const container = document.querySelector('#container');
const emojis = ['🐇', '🐈'];
const speeds = [-2, -1, 1, 2];
const intervalTime = 2000;
const maxEmojis = 10;
let emojiCount = 0;
function createEmoji() {
if (emojiCount < maxEmojis) {
const emoji = document.createElement('div');
emoji.classList.add('emoji');
emoji.style.left = Math.floor(Math.random()*(container.offsetWidth - 50)) + 'px';
emoji.style.top = Math.floor(Math.random()*(container.offsetHeight - 50)) + 'px';
emoji.textContent = emojis[Math.floor(Math.random()*emojis.length)];
container.appendChild(emoji);
moveEmoji(emoji);
emojiCount++;
}
}
function moveEmoji(emoji) {
let xSpeed = speeds[Math.floor(Math.random()*speeds.length)];
let ySpeed = speeds[Math.floor(Math.random()*speeds.length)];
let left = parseInt(emoji.style.left);
let top = parseInt(emoji.style.top);
const interval = setInterval(() => {
left += xSpeed;
top += ySpeed;
if (left <= 0 || left >= container.offsetWidth - 50) {
xSpeed = -xSpeed;
left += xSpeed;
}
if (top <= 0 || top >= container.offsetHeight - 50) {
ySpeed = -ySpeed;
top += ySpeed;
}
emoji.style.left = left + 'px';
emoji.style.top = top + 'px';
const emojis = document.querySelectorAll('.emoji');
emojis.forEach(e => {
if (e !== emoji) {
const rect1 = e.getBoundingClientRect();
const rect2 = emoji.getBoundingClientRect();
if (rect1.left < rect2.right && rect1.right > rect2.left && rect1.top < rect2.bottom && rect1.bottom > rect2.top) {
xSpeed = -xSpeed;
ySpeed = -ySpeed;
}
}
});
}, 10);
}
setInterval(createEmoji, intervalTime);
</script>
</body>
</html>