code: package tracks.multiPlayer.simple.sampleRandom;
  
  import core.game.StateObservationMulti;
  import core.player.AbstractMultiPlayer;
  import ontology.Types.ACTIONS;
  import tools.ElapsedCpuTimer;
  
  import java.util.ArrayList;
  import java.util.Random;
  
  public class Agent extends AbstractMultiPlayer {
  
  	int id; //this player's ID
  
  	/**
  	 * initialize all variables for the agent
  	 * @param stateObs Observation of the current state.
       * @param elapsedTimer Timer when the action returned is due.
  	 * @param playerID ID if this agent
  	 */
  	public Agent(StateObservationMulti stateObs, ElapsedCpuTimer elapsedTimer, int playerID){
  		id = playerID;
  	}
  
  	/**
  	 * return ACTION_NIL on every call to simulate doNothing player
  	 * @param stateObs Observation of the current state.
  	 * @param elapsedTimer Timer when the action returned is due.
  	 * @return 	ACTION_NIL all the time
  	 */
  	@Override
  	public ACTIONS act(StateObservationMulti stateObs, ElapsedCpuTimer elapsedTimer) {
  		ArrayList<ACTIONS> a = stateObs.getAvailableActions(id);
  		return ACTIONS.values()[new Random().nextInt(a.size())];
  	}
  }
  