Code viewer for Mind: Complex Mind (clone by OmO...

// 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) );
	};
}