Yes it needs improvement. First of all, eliminate the 4x repetition of code by using arrays. Your variable naming is strange - you call a button a "cycle" (from my understanding of what you said, it's not even a button). I suggest changing:
int cycleState1 = 0; //initial state the button is in
to
int switchState1 = 0; //initial state the button is in
for example.