2048.html
changeset 2 11da0a8fabf3
parent 1 8fb744f2df13
child 3 96a50cb300cc
equal deleted inserted replaced
1:8fb744f2df13 2:11da0a8fabf3
   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};