It's hard to know where to start.
For example
byte sensors[6] = {0, 1, 2, 3, 4, 5};
int MCs[6];
byte delayTimes[6];
for (byte n = 0; n < 6; n++) }{
MCs[n] = analogRead(sensors[n]);
delayTimes[n] = (50 + 950/700 * MCs[n]);
}
I think you could also simplify the decision making code with something like this
if (encoderPos > maxEncoderPos) {
encoderPos = 0;
}
if (encoderPos > 75) {
// stuff for that segment
}
else if (encoderPos > 50) {
// stuff for that segment
}
else if (encoderPos > 25) {
// stuff for that segment
}
else { // encoder pos >= 0
// stuff for that segment
}
...R