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

		this.age++;
		Move m = null; // placeholder for return value

		if ( this.age < 200 && !(foodleft>50) ) {
			m = new Move(STAYPUT);
		} else {
			if(this.childrenLeft > 0){
				if ( neighbors[NORTH] == -1 ) {
					m = new Move(REPRODUCE, NORTH, NORTH);
					childrenLeft--;
				} else if ( neighbors[SOUTH] == -1 ) {
					m = new Move(REPRODUCE, SOUTH, SOUTH);
					childrenLeft--;
				} else if ( neighbors[EAST] == -1 ) {
					m = new Move(REPRODUCE, EAST, EAST);
					childrenLeft--;
				} else if ( neighbors[WEST] == -1 ) {
					m = new Move(REPRODUCE, WEST, WEST);
					childrenLeft--;
				} else {
					m = new Move(STAYPUT);
				}
			
			}
		}

		return m;
	}