sokoban/script.js
2022-12-05 18:16:53 +01:00

90 lines
2.2 KiB
JavaScript

import { generatePlayground } from '/modules/playground.mjs'
import { levelsBlueprint } from '/modules/levels.mjs'
import { MoveDirection } from '/modules/enums.mjs'
import { fillLevelsSelection } from '/modules/fillLevelsSelection.mjs'
let canvas = document.getElementById('canvas');
let ctx = canvas.getContext('2d');
let gameState = {
playground: generatePlayground(levelsBlueprint[0], canvas.width, canvas.height),
width: canvas.width,
height: canvas.height,
};
fillLevelsSelection(gameState, ctx);
window.ctx = ctx
let playground = generatePlayground(levelsBlueprint[0], canvas.width, canvas.height);
window.addEventListener("keydown", (event) => {
if (!event.defaultPrevented) {
switch (event.key) {
case "ArrowDown":
gameState.playground.move(MoveDirection.Down);
break;
case "ArrowUp":
gameState.playground.move(MoveDirection.Up);
break;
case "ArrowRight":
gameState.playground.move(MoveDirection.Right);
break;
case "ArrowLeft":
gameState.playground.move(MoveDirection.Left);
break;
default:
return;
break;
}
gameState.playground.draw(ctx, canvas.width, canvas.height);
if (gameState.playground.isSolved()) {
alert("bravo");
}
}
});
window.playground = gameState.playground;
window.up = MoveDirection.Up;
window.down = MoveDirection.Down;
window.left = MoveDirection.Left;
window.right = MoveDirection.Right;
window.width = canvas.width;
window.height = canvas.height;
const sleep = (ms) => {
return new Promise(resolve => setTimeout(resolve, ms));
}
//function qui met à jour le temps
let time = 10;
function timer(){
let txt = document.getElementById('timer');
let level = 0;
let afficher = "Time : " + time;
txt.innerHTML= afficher;
time = time <= 0 ? 0 : time -1;
if (time == 0)
{
clearInterval(maVar);
}
}
let maVar = setInterval(timer, 1000);
if (time == 0){
alert('Terminé YAsmine')
}
// while (document.readyState != "complete") {
/*function set_time(){
minutes=Math.floor
}*/
function Pause(){
time = time -10;
}
// while (document.readyState != "complete") {
setTimeout(1000);
playground.draw(ctx);