// Cloned by OmO on 12 Nov 2020 from Mind "Complex Mind (clone by OmO)" by OmO
// Please leave this clone trail here.
// Cloned by OmO on 4 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
function Mind() {
this.turn = 1
this.knownGrid = []
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];
if (this.turn === 1) {
x = Math.max(ai, ei);
y = Math.max(aj, ej);
for (var i = 0; i < x + 1; i++) {
row = new Array(y)
this.knownGrid.push(row)
}
console.log(this.knownGrid)
}
this.knownGrid[ai][aj] = 0;
this.knownGrid[ei][ej] = 0;
console.log(ai,aj,ei,ej, this.turn)
this.turn++;
// 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) );
};
}