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

// Cloned by Md Shamsul Abedin Malik on 13 Jul 2020 from Mind "Complex Mind (clone by Thomas Mc Cann) (clone by Thomas Mc Cann) (clone by Shamsul Abedin)" by Shamsul Abedin 
// Please leave this clone trail here.
 


// Cloned by Shamsul Abedin on 13 Jul 2020 from Mind "Complex Mind (clone by Thomas Mc Cann) (clone by Thomas Mc Cann)" by Thomas Mc Cann 
// Please leave this clone trail here.
 


// Cloned by Thomas Mc Cann on 7 Nov 2019 from Mind "Complex Mind (clone by Thomas Mc Cann)" by Thomas Mc Cann 
// Please leave this clone trail here.
 


// Cloned by Thomas Mc Cann on 3 Nov 2019 from Mind "Complex Mind" by Starter user 
// Please leave this clone trail here.
 



// ==== Starter Mind ===============================================================================================
// (c) Ancient Brain Ltd. All rights reserved.
// This code is only for use on the Ancient Brain site.
// This code may be freely copied and edited by anyone on the Ancient Brain site.
// This code may not be copied, re-published or used on any other website.
// To include a run of this code on another website, see the "Embed code" links provided on the Ancient Brain site.
// ==================================================================================================================




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