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"); |