equal
deleted
inserted
replaced
140 cnt--; |
140 cnt--; |
141 } |
141 } |
142 } |
142 } |
143 } |
143 } |
144 /* http://www.reddit.com/r/2048/comments/214njx/highest_possible_score_for_2048_warning_math */ |
144 /* http://www.reddit.com/r/2048/comments/214njx/highest_possible_score_for_2048_warning_math */ |
|
145 board.scoreTbl = {"0": 0}; |
|
146 for (var i = 1, exp = 2; i < 16; i++, exp *= 2) { |
|
147 board.scoreTbl[exp] = (i-1)*exp; |
|
148 } |
145 board.score = function(brd) { |
149 board.score = function(brd) { |
146 var score = 0; |
150 var score = 0; |
147 var max = 0; |
151 var max = 0; |
148 for (var i = 0; i < 4; i++) { |
152 for (var i = 0; i < 4; i++) { |
149 for (var j = 0; j < 4; j++) { |
153 for (var j = 0; j < 4; j++) { |
150 var val = brd[i][j]; |
154 var val = brd[i][j]; |
151 if (val > 2) |
155 if (val > 2) |
152 score += Math.log2(val) * val; |
156 score += Math.log2(val) * val; |
|
157 /* score += board.scoreTbl[val]; */ |
153 if (max < val) |
158 if (max < val) |
154 max = val; |
159 max = val; |
155 } |
160 } |
156 } |
161 } |
157 return {score: score, max: max}; |
162 return {score: score, max: max}; |