2048.html
changeset 15 0fa97e430a9e
parent 14 9b49e710f5a7
child 16 ab283d2534db
equal deleted inserted replaced
14:9b49e710f5a7 15:0fa97e430a9e
   118     "use strict";
   118     "use strict";
   119 
   119 
   120     var boardDom = document.getElementById("board");
   120     var boardDom = document.getElementById("board");
   121     var ui = {};
   121     var ui = {};
   122     ui.board = {};
   122     ui.board = {};
       
   123     /* 'val' typesafe.  */
   123     ui.board.set = function(i, j, val) {
   124     ui.board.set = function(i, j, val) {
       
   125       if (typeof val !== number)
       
   126         val = 0;
   124       var dom = boardDom.querySelectorAll("tr")[i].querySelectorAll("td")[j];
   127       var dom = boardDom.querySelectorAll("tr")[i].querySelectorAll("td")[j];
   125       dom.innerHTML = val;
   128       if (0 < val && val < 15) {
   126       var rgb = 'rgb(255,'+ (255-5*val-2*(val%2)) +','+ (255-10*val-5*((val-1)%2)) +')';
   129         dom.innerHTML = val;
       
   130         var rgb = 'rgb(255,'+ (255-5*val-2*(val%2)) +','+ (255-10*val-5*((val-1)%2)) +')';
       
   131       } else {
       
   132         dom.innerHTML = '';
       
   133         var rgb = 'white';
       
   134       }
   127       dom.style.backgroundColor = rgb;
   135       dom.style.backgroundColor = rgb;
   128     }
   136     }
   129     ui.board.update = function(brd) {
   137     ui.board.update = function(brd) {
   130       for (var i = 0; i < 4; i++) {
   138       for (var i = 0; i < 4; i++) {
   131         for (var j = 0; j < 4; j++) {
   139         for (var j = 0; j < 4; j++) {
   132           ui.board.set(i, j, (brd[i][j] >= 1) ? brd[i][j] : "");
   140           ui.board.set(i, j, brd[i][j]);
   133         }
   141         }
   134       }
   142       }
   135     }
   143     }
   136     ui.score = {};
   144     ui.score = {};
   137     var scoreDom = document.getElementById("score");
   145     var scoreDom = document.getElementById("score");