Backrooms unblocked
Horror maze game!unknown
javascript
9 months ago
2.3 kB
8
Indexable
// Set up canvas and context
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
// Set canvas to full screen
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
// Player object
const player = {
x: canvas.width / 2,
y: canvas.height / 2,
size: 30,
speed: 5,
color: 'yellow'
};
// Monster object
const monster = {
x: 100,
y: 100,
size: 40,
speed: 2,
color: 'red'
};
// Key state tracking
let keyState = {};
// Draw player and monster
function drawPlayer() {
ctx.beginPath();
ctx.arc(player.x, player.y, player.size, 0, Math.PI * 2);
ctx.fillStyle = player.color;
ctx.fill();
ctx.closePath();
}
function drawMonster() {
ctx.beginPath();
ctx.arc(monster.x, monster.y, monster.size, 0, Math.PI * 2);
ctx.fillStyle = monster.color;
ctx.fill();
ctx.closePath();
}
// Move player based on arrow keys
function movePlayer() {
if (keyState['ArrowUp']) player.y -= player.speed;
if (keyState['ArrowDown']) player.y += player.speed;
if (keyState['ArrowLeft']) player.x -= player.speed;
if (keyState['ArrowRight']) player.x += player.speed;
}
// Move monster towards the player
function moveMonster() {
let dx = player.x - monster.x;
let dy = player.y - monster.y;
let distance = Math.sqrt(dx * dx + dy * dy);
monster.x += (dx / distance) * monster.speed;
monster.y += (dy / distance) * monster.speed;
}
// Detect collision between player and monster
function checkCollision() {
let dx = player.x - monster.x;
let dy = player.y - monster.y;
let distance = Math.sqrt(dx * dx + dy * dy);
return distance < player.size + monster.size;
}
// Update the game state
function update() {
if (checkCollision()) {
alert('Game Over! The monster caught you.');
window.location.reload(); // Reload the game on collision
}
ctx.clearRect(0, 0, canvas.width, canvas.height); // Clear the canvas
drawPlayer();
drawMonster();
movePlayer();
moveMonster();
requestAnimationFrame(update); // Keep the game loop going
}
// Keydown and keyup events
window.addEventListener('keydown', (e) => {
keyState[e.key] = true;
});
window.addEventListener('keyup', (e) => {
keyState[e.key] = false;
});
// Start the game
update();
Editor is loading...
Leave a Comment