2048.html
changeset 46 4dadaff6eba4
parent 45 0bcdec3bdaa8
child 52 e4e21d2fcbe7
equal deleted inserted replaced
45:0bcdec3bdaa8 46:4dadaff6eba4
   327       scoreDom.innerHTML = '0';
   327       scoreDom.innerHTML = '0';
   328       maxDom.innerHTML = '0';
   328       maxDom.innerHTML = '0';
   329       speedDom.innerHTML = '0';
   329       speedDom.innerHTML = '0';
   330       turnDom.innerHTML = '0';
   330       turnDom.innerHTML = '0';
   331     }
   331     }
   332     ui.score.update = function(brd) {
   332     ui.score.update = function(brd, turn) {
   333       var score = board.score(brd);
   333       var score = board.score(brd);
   334       scoreDom.innerHTML = '' + score.score;
   334       scoreDom.innerHTML = '' + score.score;
   335       maxDom.innerHTML = '' + score.max;
   335       maxDom.innerHTML = '' + ui.board.val2048(score.max);
       
   336       turnDom.innerHTML = '' + turn;
   336     }
   337     }
   337     ui.score.speed = function(speed, turn) {
   338     ui.score.speed = function(speed, turn) {
   338       speedDom.innerHTML = '' + speed;
   339       speedDom.innerHTML = '' + speed;
   339       turnDom.innerHTML = '' + turn;
   340       turnDom.innerHTML = '' + turn;
   340     }
   341     }
   395         return false;
   396         return false;
   396       return true;
   397       return true;
   397     }
   398     }
   398     ui.game.finishStep = function() {
   399     ui.game.finishStep = function() {
   399       board.putRandom(ui.board.position);
   400       board.putRandom(ui.board.position);
       
   401       ui.board.turn++;
   400       ui.board.update(ui.board.position);
   402       ui.board.update(ui.board.position);
   401       ui.score.update(ui.board.position);
   403       ui.score.update(ui.board.position, ui.board.turn);
   402       localStorage.savedBoard = JSON.stringify(ui.board.position);
   404       localStorage.savedBoard = JSON.stringify(ui.board.position);
       
   405       localStorage.savedTurn = ui.board.turn;
   403     }
   406     }
   404 
   407 
   405     ////////////////////////////////////////////////////////////////
   408     ////////////////////////////////////////////////////////////////
   406     // Actions.
   409     // Actions.
   407 
   410 
   409 
   412 
   410     ui.action.start = function() {
   413     ui.action.start = function() {
   411       ui.score.clear();
   414       ui.score.clear();
   412       ui.suggestion.clear();
   415       ui.suggestion.clear();
   413       ui.game.clearMessage();
   416       ui.game.clearMessage();
       
   417       ui.board.turn = 0;
   414       ui.board.position = board.create();
   418       ui.board.position = board.create();
   415       board.putRandom(ui.board.position);
   419       board.putRandom(ui.board.position);
   416       ui.board.update(ui.board.position);
   420       ui.board.update(ui.board.position);
   417     }
   421     }
   418     document.getElementById("start").addEventListener("click", ui.action.start);
   422     document.getElementById("start").addEventListener("click", ui.action.start);
   590       } catch (ex) { }
   594       } catch (ex) { }
   591     }
   595     }
   592     if (localStorage.savedBoard) {
   596     if (localStorage.savedBoard) {
   593       try {
   597       try {
   594         ui.board.position = JSON.parse(localStorage.savedBoard);
   598         ui.board.position = JSON.parse(localStorage.savedBoard);
       
   599         if (localStorage.savedTurn)
       
   600           ui.board.turn = JSON.parse(localStorage.savedTurn);
       
   601         else
       
   602           ui.board.turn = 0;
   595         ui.board.update(ui.board.position);
   603         ui.board.update(ui.board.position);
       
   604         ui.score.update(ui.board.position, ui.board.turn);
   596       } catch (ex) { }
   605       } catch (ex) { }
   597     } else {
   606     } else {
   598       ui.action.start();
   607       ui.action.start();
   599     }
   608     }
   600 
   609