Untitled
unknown
plain_text
3 years ago
2.2 kB
11
Indexable
// Definicja stałych
const GAME_WIDTH = 800;
const GAME_HEIGHT = 600;
const CHICKEN_WIDTH = 60;
const CHICKEN_HEIGHT = 60;
const EGG_WIDTH = 20;
const EGG_HEIGHT = 20;
const COCK_WIDTH = 80;
const COCK_HEIGHT = 80;
// Inicjalizacja canvasa
let canvas = document.createElement("canvas");
let ctx = canvas.getContext("2d");
canvas.width = GAME_WIDTH;
canvas.height = GAME_HEIGHT;
document.body.appendChild(canvas);
// Definicja obiektów
let chicken = {
x: GAME_WIDTH / 2 - CHICKEN_WIDTH / 2,
y: GAME_HEIGHT - CHICKEN_HEIGHT - 10,
width: CHICKEN_WIDTH,
height: CHICKEN_HEIGHT,
speed: 5,
};
let eggs = [];
let cock = {
x: Math.random() * (GAME_WIDTH - COCK_WIDTH),
y: 0,
width: COCK_WIDTH,
height: COCK_HEIGHT,
speed: 3,
};
// Funkcja do rysowania obiektów
function drawRect(x, y, width, height, color) {
ctx.fillStyle = color;
ctx.fillRect(x, y, width, height);
}
// Funkcja do rysowania obrazów
function drawImage(img, x, y, width, height) {
ctx.drawImage(img, x, y, width, height);
}
// Funkcja do rysowania jajek
function drawEggs() {
for (let i = 0; i < eggs.length; i++) {
drawRect(eggs[i].x, eggs[i].y, EGG_WIDTH, EGG_HEIGHT, "#FFFFFF");
}
}
// Funkcja do rysowania koguta
function drawCock() {
drawImage(
cockImg,
cock.x,
cock.y,
cock.width,
cock.height
);
}
// Funkcja do rysowania kurczaka
function drawChicken() {
drawImage(
chickenImg,
chicken.x,
chicken.y,
chicken.width,
chicken.height
);
}
// Funkcja do sprawdzania kolizji
function checkCollision(rect1, rect2) {
let xOverlap =
Math.abs(rect1.x + rect1.width / 2 - (rect2.x + rect2.width / 2)) <
rect1.width / 2 +
rect2.width / 2;
let yOverlap =
Math.abs(rect1.y + rect1.height / 2 - (rect2.y + rect2.height / 2)) <
rect1.height / 2 +
rect2.height / 2;
return xOverlap && yOverlap;
}
// Funkcja do aktualizowania pozycji jajek
function updateEggs() {
for (let i = 0; i < eggs.length; i++) {
eggs[i].y -= 5;
if (eggs[i].y < 0) {
eggs.splice(i, 1);
i--;
} else if (checkCollision(eggs[i
Editor is loading...