// Cloned by anish kumar on 26 Nov 2020 from Mind "Complex Mind (clone by anish kumar) (clone by anish kumar) (clone by anish kumar) (clone by anish kumar)" by anish kumar
// Please leave this clone trail here.
// Cloned by anish kumar on 25 Nov 2020 from Mind "Complex Mind (clone by anish kumar) (clone by anish kumar) (clone by anish kumar)" by anish kumar
// Please leave this clone trail here.
// Cloned by anish kumar on 25 Nov 2020 from Mind "Complex Mind (clone by anish kumar) (clone by anish kumar)" by anish kumar
// Please leave this clone trail here.
// Cloned by anish kumar on 23 Nov 2020 from Mind "Complex Mind (clone by anish kumar)" by anish kumar
// Please leave this clone trail here.
// Cloned by anish kumar on 22 Nov 2020 from Mind "Complex Mind" by Starter user
// Please leave this clone trail here.
// =================================================================================================
// Sample Mind for more complex starter World
// =================================================================================================
// World tells us agent position and enemy position
// World does not tell us of existence of walls
// if return invalid move (not empty square) World just ignores it and we miss a turn
AB.mind.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];
// if strictly move away, will get stuck at wall, so introduce randomness
if ( ej < aj ) return ( AB.randomPick ( ACTION_UP, AB.randomPick(ACTION_RIGHT,ACTION_LEFT) ));
if ( ej > aj ) return ( AB.randomPick ( ACTION_DOWN, AB.randomPick(ACTION_RIGHT,ACTION_LEFT) ));
if ( ei < ai ) return ( AB.randomPick ( ACTION_RIGHT, AB.randomPick(ACTION_UP,ACTION_DOWN) ));
if ( ei > ai ) return ( AB.randomPick ( ACTION_LEFT, AB.randomPick(ACTION_UP,ACTION_DOWN) ));
return ( AB.randomIntAtoB (0,3) );
};