Skip to content

Commit

Permalink
Call solver to see the solution
Browse files Browse the repository at this point in the history
  • Loading branch information
dubzzz committed Nov 11, 2015
1 parent e3ee09d commit f0d8766
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 12 deletions.
4 changes: 2 additions & 2 deletions src/MazeSolver.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,11 @@ var MazeSolver = function(raw_data, door_times) {
x -= 1;
break;
case TOP:
miniPath.push("top");
miniPath.push("up");
y += 1;
break;
case BOTTOM:
miniPath.push("bottom");
miniPath.push("down");
y -= 1;
break;
default:
Expand Down
2 changes: 1 addition & 1 deletion static/js/WebDisplayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ var WebDisplayer = function(screen_canvas, info_canvas) {
this.initDoorsStatus = function(doors_duration) {
var statuses_canvas = info_canvas_.getElementsByClassName("gamerunner-statuses")[0];
while (statuses_canvas.childNodes.length > 0) {
statuses_canvas.removeChildren(statuses_canvas.childNodes[0]);
statuses_canvas.removeChild(statuses_canvas.childNodes[0]);
}
info_canvas_sub_ = {};
var keys = Object.keys(doors_duration);
Expand Down
36 changes: 27 additions & 9 deletions templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
var WebDisplayer = MazeGame.WebDisplayer;
var MazeSolver = MazeGame.MazeSolver;
var game = undefined;
var solver = undefined;

function updateHash(raw_data) {
var map_strings = MazeGame.rawDataToStrings(raw_data);
Expand All @@ -32,30 +33,44 @@
var hash = window.location.hash.substring(1);
var map_strings = hash.split(",");

var raw = undefined;
var door_times = {};
if (map_strings.length == 2) {
var raw = MazeGame.stringsToRawData(map_strings);
var door_times = {};
var solver = new MazeSolver(raw, door_times);
game = new GameRunner(displayer, raw, solver.minimumMoves(), door_times);
updateHash(raw);
raw = MazeGame.stringsToRawData(map_strings);
door_times = {};
}
else {
var raw = [
raw = [
[99, 0, 2, 0, 0],
[11,97,12,97, 0],
[ 0,97,-2,97,-2],
[-1,97, 1,97, 0],
[98, 0, 0, 2, 1]];
var door_times = {1: 10, 2: 4};
game = new GameRunner(displayer, raw, 18, door_times);
updateHash(raw);
door_times = {1: 10, 2: 4};
}
solver = new MazeSolver(raw, door_times);
game = new GameRunner(displayer, raw, solver.minimumMoves(), door_times);
updateHash(raw);
}

function restartGame() {
game.restart();
}

function solveGameAnimated(path, frame) {
if (frame >= path.length) {
return;
}
game.move(path[frame]);
setTimeout(function() { solveGameAnimated(path, frame+1); }, 200);
}

function solveGame() {
game.restart();
console.log(solver.path());
solveGameAnimated(solver.path(), 0);
}

function clickScreen(event) {
if (event.button == 0) {
game.moveClick(event);
Expand Down Expand Up @@ -99,6 +114,9 @@
<div>
<a href="#" onclick="javascript:restartGame()">Restart</a>
</div>
<div>
<a href="#" onclick="javascript:solveGame()">Solve</a>
</div>
<div>
<a id="edit_level" href="#" target="_blank">Edit this level</a>
</div>
Expand Down

0 comments on commit f0d8766

Please sign in to comment.