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}; |
145 var boardScoreTbl = {"0": 0}; |
146 for (var i = 1, exp = 2; i < 16; i++, exp *= 2) { |
146 for (var i = 1, exp = 2; i < 16; i++, exp *= 2) { |
147 board.scoreTbl[exp] = (i-1)*exp; |
147 boardScoreTbl[exp] = (i-1)*exp; |
148 } |
148 } |
149 board.score = function(brd) { |
149 board.score = function(brd) { |
150 var score = 0; |
150 var score = 0; |
151 var max = 0; |
151 var max = 0; |
152 for (var i = 0; i < 4; i++) { |
152 for (var i = 0; i < 4; i++) { |
153 for (var j = 0; j < 4; j++) { |
153 for (var j = 0; j < 4; j++) { |
154 var val = brd[i][j]; |
154 var val = brd[i][j]; |
155 if (val > 2) |
155 score += boardScoreTbl[val]; |
156 score += Math.log2(val) * val; |
|
157 /* score += board.scoreTbl[val]; */ |
|
158 if (max < val) |
156 if (max < val) |
159 max = val; |
157 max = val; |
160 } |
158 } |
161 } |
159 } |
162 return {score: score, max: max}; |
160 return {score: score, max: max}; |