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

// Cloned by Abdelshafa Abdala on 24 Oct 2021 from Mind "Complex Mind (clone by Md Shamsul Abedin Malik) (clone by Md Shamsul Abedin Malik) (clone by Md Shamsul Abedin Malik) (clone by Md Shamsul Abedin Malik)" by Md Shamsul Abedin Malik 
// Please leave this clone trail here.
 


// Cloned by Md Shamsul Abedin Malik on 14 Aug 2020 from Mind "Complex Mind (clone by Md Shamsul Abedin Malik) (clone by Md Shamsul Abedin Malik) (clone by Md Shamsul Abedin Malik)" by Md Shamsul Abedin Malik 
// Please leave this clone trail here.
 


// Cloned by Md Shamsul Abedin Malik on 14 Aug 2020 from Mind "Complex Mind (clone by Md Shamsul Abedin Malik) (clone by Md Shamsul Abedin Malik)" by Md Shamsul Abedin Malik 
// Please leave this clone trail here.
 


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


// Cloned by Md Shamsul Abedin Malik on 5 Jul 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) );
	};