Revisado.
Bueno como a la velocidad a la que va el micro es grande,
solo para empezar, lo que puedes realizar es unir el final del bloque de la columna de la izquiera en vez de volver al inicio, debes llevarlo a la entrada de la columna de la derecha y el el final de esta con el inicio de la de la izquierda.
Como puedes comprender, esto no es lo mas logico, pero para empezar y aprender puedes llevarlo asi y aunque puedes tener algun pequeño retraso en el efecto al presionar alguno de los botones, al ser el retraso muy coto (velocidad del micro alta) apenas te vas a enterar.
El problema para evitar este efecto es mediante el uso de interrupciones, por eso en los post anteriores te comente el cambio de las señales a otros pines para poder utilizar este metodo. De momento y como me supongo que estas empezando a programar, vamos a dejarlo un poquito de lado y es mejor que aprendas a realizar tu programa y despues, si te parece lo vamos cambiando/modificando o depurando para hacerlo mas eficiente y veras como se reduce considerablemente.
Mediante el metodo que has utilizado, el programa se realiza secuencialmente un bloque despues de otro de manera seguida. Con interrupciones, forma algo mas complejilla

, digamos que el micro está como dormido sin hacer nada y solo responde cuando se acciona alguno de los pulsodres. En cambio como tu lo haces está continuamente trabajando.
Espero que hayas entendido un poco el sentido de trabajo.
F.