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

// Cloned by Daniel Peres on 24 Oct 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];

		//Uncomment this line to play with the keyboard
		//return -1;

		//if strictly move away, will get stuck at wall, so introduce randomness 
		var randomAxis = AB.randomIntAtoB (0,10);
		//The new mind has the randomAxis property, which will allow the bug move on the I or J axis each time. 
		//It prevents the game from being stucked.
		if (randomAxis >= 5){
			//Move J axis
			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) 	)); 
		}else{
			//Move I axis
			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) 		)); 
		}
	};