Show sourcecode
The following files exists in this folder. Click to view.
webbserverprogrammering/GYA/js/
box.js
branch_box_1.js
branch_gate.js
branch_main_1.js
branch_main_2.js
branch_player_1.js
door.js
gate.js
global.js
imagesNSound_handler-Kits-Dator.js
imagesNSound_handler.js
main.js
player.js
pressure_plate.js
rolling_stone.js
world.js
rolling_stone.js
61 lines UTF-8 Windows (CRLF)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
function loadR_s(level) {
// Töm alla gamla lådor
r_s.length = 0;
// Loopa igenom världen och skapa lådor där det finns "4"
for (let y = 0; y < world[level].length; y++) {
for (let x = 0; x < world[level][y].length; x++) {
if (world[level][y][x] === "r") {
r_s.push({
x: x * tile_size * 1.2,
y: y * tile_size * 1.2,
width: tile_size * 1.6,
height: tile_size * 1.6,
color: "purple",
speed: 1,
is_moving: false
});
}
}
}
}
// Ritar lådan på spelplanen
function drawR_s(canvas) {
for (i = 0; i < r_s.length; i++) {
canvas.fillStyle = r_s[i].color;
canvas.fillRect(r_s[i].x, r_s[i].y, r_s[i].width, r_s[i].height);
}
}
function moveR_s() {
for (let i = 0; i < r_s.length; i++) {
if (player.x > tile_size * 6) {
r_s[i].is_moving = true;
if (r_s[i].x >= canvas.canvas.width - tile_size * 1.75) {
r_s[i].is_moving = false;
r_s[i].speed = 0;
}
}
// Flyttar stenen mot väggen
if (r_s[i].is_moving) {
r_s[i].x += r_s[i].speed;
r_s[i].color = "red";
// Resettar spelaren vid kollision
if (player.x < (r_s[i].x + r_s[i].width) && player.x + player.width > (r_s[i].x) && player.y < (r_s[i].y + r_s[i].height) && player.y + player.height > (r_s[i].y) && r_s[i].is_moving) {
player.x = tile_size * 3;
player.y = tile_size * 5;
load();
}
// Spelaren kan kollidera med den rullande stenen utan fara
} else {
r_s[i].color = "purple";
if (player.x < (r_s[i].x + r_s[i].width) && player.x + player.width > (r_s[i].x) && (player.y < (r_s[i].y + r_s[i].height) && player.y + player.height > (r_s[i].y)) && !r_s[i].is_moving) {
player.x -= player.dx * player.speed;
player.y -= player.dy * player.speed;
};
};
}
}