// Cloned by perd on 19 Nov 2018 from Mind "The Mind of all" by perd
// Please leave this clone trail here.
// Cloned by perd on 15 Nov 2018 from Mind "New Mind" by perd
// Please leave this clone trail here.
function Mind()
{
this.newRun = function()
{
};
const ACTION_LEFT = 0;
const ACTION_RIGHT = 1;
const ACTION_UP = 2;
const ACTION_DOWN = 3;
const ACTION_STAYSTILL = 4;
this.getAction = function ( x ) // x is an array of [ ai, aj, ei, ej ]
{
var ai = x[0];
var aj = x[1];
var ei = x[2];
var ej = x[3];
//return ACTION_UP
//if (((ai + 1) == GRID_WALL) || ((aj + 1) == GRID_WALL)) return (AB.randomPick(ACTION_DOWN, ACTION_LEFT));
//if (((ai - 1) == GRID_WALL) || ((aj + 1) == GRID_WALL)) return (AB.randomPick(ACTION_DOWN, ACTION_RIGHT));
//if (((ai - 1) == GRID_WALL) || ((aj - 1) == GRID_WALL)) return (AB.randomPick(ACTION_UP, ACTION_RIGHT));
//if (((ai + 1) == GRID_WALL) || ((aj - 1) == GRID_WALL)) return (AB.randomPick(ACTION_UP, ACTION_LEFT));
//if ((ai - 2) == GRID_WALL) return (AB.randomPick(ACTION_DOWN, ACTION_UP));
// Where not enemy
// go right > if right is more than up and down & right is not wall
// go up > if up is more than left & up is not wall
// go left > else
// go down > else
// if (ai > 2) return ACTION_LEFT
// if (aj > 2) return ACTION_DOWN
// return ACTION_RIGHT
if ((ei < ai) & ((ai - ei)>(aj-ej)||(ai - ei)>(ej-aj)) & (ai<18)) return (AB.randomPick( ACTION_RIGHT, AB.randomPick(ACTION_DOWN, ACTION_UP))); //e is l
if ((ei < ai) & ((ai - ei)>(aj-ej)||(ai - ei)>(ej-aj))) return (AB.randomPick(ACTION_DOWN, ACTION_UP));
if ((ej < aj) & (aj-ej)>(ei-ai) & (aj<18)) return (AB.randomPick( ACTION_UP, AB.randomPick(ACTION_RIGHT, ACTION_LEFT))); //e is below
if ((ej < aj) & (aj-ej)>(ei-ai)) return (AB.randomPick(ACTION_RIGHT, ACTION_LEFT));
if ( (ei > ai) & (ai > 1)) return (AB.randomPick( ACTION_LEFT, AB.randomPick(ACTION_DOWN, ACTION_UP))); //e is r
if ( (ei > ai) ) return (AB.randomPick(ACTION_DOWN, ACTION_UP));
if ( (ej > aj) & (aj > 1)) return (AB.randomPick( ACTION_DOWN, AB.randomPick(ACTION_RIGHT, ACTION_LEFT))); //e is up
if ( (ej > aj) ) return (AB.randomPick(ACTION_RIGHT, ACTION_LEFT));
//return (AB.randomPick( ACTION_RIGHT, ACTION_DOWN, ACTION_UP, ACTION_LEFT));
else return ( AB.randomIntAtoB (0,4) ); // Ignore enemy. Just move randomly
this.endRun = function()
{
};
};
}