ai.js
changeset 156 e6a4bc888b72
parent 155 1f8df90bd338
child 160 93c44d730198
child 167 ae123e309e31
equal deleted inserted replaced
155:1f8df90bd338 156:e6a4bc888b72
   470 ai.survive.altAICfg = {scoreCoef: 1, maxValCoef: 0, cornerBonus: 0, edgeBonus: 0, freeBonus: 0, weightThreshold: 0};
   470 ai.survive.altAICfg = {scoreCoef: 1, maxValCoef: 0, cornerBonus: 0, edgeBonus: 0, freeBonus: 0, weightThreshold: 0};
   471 /** Select best direction for next step. */
   471 /** Select best direction for next step. */
   472 ai.survive.prototype.analyse = function(brd2d) {
   472 ai.survive.prototype.analyse = function(brd2d) {
   473     var origBrd = new this.brdEngine(brd2d);
   473     var origBrd = new this.brdEngine(brd2d);
   474     var nextBrd = new this.brdEngine();
   474     var nextBrd = new this.brdEngine();
   475     var bestW = -1;
   475     var bestW = -2;
   476     var bestDir;
   476     var bestDir;
   477     var freeCnt = origBrd.freeCnt();
   477     var freeCnt = origBrd.freeCnt();
   478     if (freeCnt >= this.cfg.freeCells)
   478     if (freeCnt >= this.cfg.freeCells)
   479         return this.cfg.altAI.analyse(brd2d);
   479         return this.cfg.altAI.analyse(brd2d);
   480     for (var i = 0; i < ai.dirs.length; i++) {
   480     for (var i = 0; i < ai.dirs.length; i++) {
   481         var dir = ai.dirs[i];
   481         var dir = ai.dirs[i];
   482         if (origBrd[dir](nextBrd)) {
   482         if (origBrd[dir](nextBrd)) {
   483             var w = this.evalFn(nextBrd, 1);
   483             var w = this.evalFn(nextBrd, 1);
   484             console.log("dir: %s, w: %d", dir, w);
       
   485             if (w > bestW) {
   484             if (w > bestW) {
   486                 bestW = w;
   485                 bestW = w;
   487                 bestDir = dir;
   486                 bestDir = dir;
   488             }
   487             }
   489         }
   488         }