Merge branch 'master' of https://git.etud.insa-toulouse.fr/nbillard/sokoban
This commit is contained in:
commit
347774b4f2
4 changed files with 19 additions and 10 deletions
|
@ -9,6 +9,8 @@ export const selectLevel = (ctx, gameState, id) => {
|
||||||
// TODO transfer expireFunction without a fail
|
// TODO transfer expireFunction without a fail
|
||||||
// const expireFunc = () => {gameState.timer.expireFunction();};
|
// const expireFunc = () => {gameState.timer.expireFunction();};
|
||||||
gameState.timer.setTime(levelsBlueprint[id].time);
|
gameState.timer.setTime(levelsBlueprint[id].time);
|
||||||
|
gameState.playable = true;
|
||||||
|
gameState.tutorial.hide();
|
||||||
gameState.playground.draw(ctx, gameState.width, gameState.height);
|
gameState.playground.draw(ctx, gameState.width, gameState.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ const level5Blueprint = {
|
||||||
[Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Floor, Square.Box, Square.Floor, Square.Wall, Square.Floor, Square.Wall, Square.Wall, Square.Wall, ],
|
[Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Floor, Square.Box, Square.Floor, Square.Wall, Square.Floor, Square.Wall, Square.Wall, Square.Wall, ],
|
||||||
[Square.Wall, Square.Destination, Square.Destination, Square.Destination, Square.Destination, Square.Floor, Square.Floor, Square.Wall, Square.Wall, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Wall, ],
|
[Square.Wall, Square.Destination, Square.Destination, Square.Destination, Square.Destination, Square.Floor, Square.Floor, Square.Wall, Square.Wall, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Wall, ],
|
||||||
[Square.Wall, Square.Wall, Square.Destination, Square.Destination, Square.Destination, Square.Floor, Square.Floor, Square.Floor, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Floor, Square.Wall, ],
|
[Square.Wall, Square.Wall, Square.Destination, Square.Destination, Square.Destination, Square.Floor, Square.Floor, Square.Floor, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Box, Square.Floor, Square.Floor, Square.Floor, Square.Wall, ],
|
||||||
[Square.Wall, Square.Destination, Square.Destination, Square.Destination, Square.Floor, Square.Floor, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, ],
|
[Square.Wall, Square.Destination, Square.Destination, Square.Destination, Square.Destination, Square.Floor, Square.Floor, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, ],
|
||||||
[Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, ],
|
[Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, Square.Wall, ],
|
||||||
],
|
],
|
||||||
time: 40000
|
time: 40000
|
||||||
|
|
|
@ -11,14 +11,21 @@ export class TutorialControler {
|
||||||
self.messageBox = document.getElementById('tutorial-box');
|
self.messageBox = document.getElementById('tutorial-box');
|
||||||
self.messageId = 0;
|
self.messageId = 0;
|
||||||
self.messageBox.innerHTML = TutorialControler.messages[self.messageId];
|
self.messageBox.innerHTML = TutorialControler.messages[self.messageId];
|
||||||
|
self.hide = () => {
|
||||||
|
document.getElementById('tutorial-speech-bubble').style.visibility = "hidden";
|
||||||
|
self.finished = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hide() {
|
||||||
|
self.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
next() {
|
next() {
|
||||||
if (!self.finished) {
|
if (!self.finished) {
|
||||||
self.messageId++;
|
self.messageId++;
|
||||||
if (self.messageId == TutorialControler.messages.length) {
|
if (self.messageId == TutorialControler.messages.length) {
|
||||||
document.getElementById('tutorial-speech-bubble').style.visibility = "hidden";
|
self.hide();
|
||||||
self.finished = true;
|
|
||||||
} else {
|
} else {
|
||||||
self.messageBox.innerHTML = TutorialControler.messages[self.messageId];
|
self.messageBox.innerHTML = TutorialControler.messages[self.messageId];
|
||||||
}
|
}
|
||||||
|
@ -28,4 +35,5 @@ export class TutorialControler {
|
||||||
isFinished() {
|
isFinished() {
|
||||||
return self.finished;
|
return self.finished;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,10 +31,9 @@ let gameState = {
|
||||||
gameState.timer.stop();
|
gameState.timer.stop();
|
||||||
} ),
|
} ),
|
||||||
levelId: 0,
|
levelId: 0,
|
||||||
|
tutorial: new TutorialControler(),
|
||||||
};
|
};
|
||||||
|
|
||||||
let tutorial = new TutorialControler();
|
|
||||||
|
|
||||||
fillLevelsSelection(gameState, ctx);
|
fillLevelsSelection(gameState, ctx);
|
||||||
window.ctx = ctx
|
window.ctx = ctx
|
||||||
window.addEventListener("keydown", (event) => {
|
window.addEventListener("keydown", (event) => {
|
||||||
|
@ -66,8 +65,8 @@ window.addEventListener("keydown", (event) => {
|
||||||
case "ArrowRight":
|
case "ArrowRight":
|
||||||
case " ":
|
case " ":
|
||||||
case "Enter":
|
case "Enter":
|
||||||
tutorial.next();
|
gameState.tutorial.next();
|
||||||
if (tutorial.isFinished()) {
|
if (gameState.tutorial.isFinished()) {
|
||||||
gameState.playable = true;
|
gameState.playable = true;
|
||||||
gameState.timer.start();
|
gameState.timer.start();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue