@Override
	public Point getTarget(GameState state) {
		float[][] candidates = new float[3][5];
		Point target = null;
		int i = 0;
		for(TargetingStrategy strategy : strategies) {
			target = strategy.getTarget(state);
			if(target != null) {
				candidates[target.x][target.y] += weights[i];
			}
			++i;
		}
		
		float greatest = 0f;
		target = null;
		for(int x = 0; x < 3; x++) {
			for(int y = 0; y < 5; y++) {
				if(candidates[x][y] > greatest) {
					target = new Point(x,y);
					greatest = candidates[x][y];
				}
			}
		}
		
		return target;
	}