public Move move(boolean[] foodpresent, int[] neighbors, int foodleft, int energyleft) throws Exception {

		Move m = null; // placeholder for return value
		
		// this player selects randomly
		int direction = rand.nextInt(6);
		
		switch (direction) {
		case 0: m = new Move(STAYPUT); break;
		case 1: m = new Move(WEST); break;
		case 2: m = new Move(EAST); break;
		case 3: m = new Move(NORTH); break;
		case 4: m = new Move(SOUTH); break;
		case 5:	direction = rand.nextInt(4);
				// if this organism will reproduce:
				// the second argument to the constructor is the direction to which the offspring should be born
				// the third argument is the initial value for that organism's state variable (passed to its register function)
				if (direction == 0) m = new Move(REPRODUCE, WEST, state);
				else if (direction == 1) m = new Move(REPRODUCE, EAST, state);
				else if (direction == 2) m = new Move(REPRODUCE, NORTH, state);
				else m = new Move(REPRODUCE, SOUTH, state);
		}
		return m;
	}