Code viewer for Mind: Castle Mind

 

	AB.mind.getAction = function ( x )		// x is an array of [ theagent.position.x, theagent.position.z, theenemy.position.x, theenemy.position.z ]
	{ 
		var ai = x[0];
		var aj = x[1];
		var ei = x[2];
		var ej = x[3];

		// if strictly move away, will get stuck at (invisible) wall, so introduce randomness 
		
		 if ( ei < ai ) 	return ( AB.randomPick ( ACTION_RIGHT,	AB.randomPick3 ( ACTION_LEFT, 	ACTION_UP, ACTION_DOWN ) 		)); 
		 if ( ei > ai ) 	return ( AB.randomPick ( ACTION_LEFT,	AB.randomPick3 ( ACTION_RIGHT, 	ACTION_UP, ACTION_DOWN ) 		)); 

		 if ( ej < aj ) 	return ( AB.randomPick ( ACTION_UP,		AB.randomPick3 ( ACTION_DOWN,	ACTION_RIGHT, ACTION_LEFT ) 	)); 
		 if ( ej > aj ) 	return ( AB.randomPick ( ACTION_DOWN,	AB.randomPick3 ( ACTION_UP, 	ACTION_RIGHT, ACTION_LEFT ) 	)); 


 		return  ( AB.randomIntAtoB (0,3) );
	};