# HG changeset patch # User Oleksandr Gavenko # Date 1411420617 -10800 # Node ID fc058d27e8291fef16a11521aed1ccb8c3fcdc1b # Parent 4bb8ed8448bc3c6e184ca06935a7aa4a38a8f1de Make board engine selectable. diff -r 4bb8ed8448bc -r fc058d27e829 2048.html --- a/2048.html Tue Sep 23 00:00:57 2014 +0300 +++ b/2048.html Tue Sep 23 00:16:57 2014 +0300 @@ -143,6 +143,13 @@
2048
+
+ engine +

@@ -335,6 +342,12 @@ return Math.pow(2, val); return val; } + var boardEngineDom = document.getElementById("board-engine"); + boardEngineDom.addEventListener("change", function() { + var engine = boardEngineDom.value; + ui.brdEngine = window[engine]; + localStorage.brdEngine = engine; + }); /* 'val' typesafe. */ ui.board.set = function(i, j, val) { if (typeof val !== 'number') @@ -909,8 +922,12 @@ //////////////////////////////////////////////////////////////// // Initialise game. - ui.brdEngine = BoardArr2d; // TODO make user selectable - // ui.brdEngine = BoardObj; // TODO make user selectable + if (localStorage.brdEngine) { + boardEngineDom.value = localStorage.brdEngine; + ui.brdEngine = window[localStorage.brdEngine]; + } else { + ui.brdEngine = BoardArr2d; + } if (localStorage.untilScore) { var scoreLimit = parseInt(localStorage.untilScore);