Du hast es nicht kapiert. Schau nochmal genau hin: Die Array-Elemente bleiben nicht an ihrem Ort im Array, sondern rotieren.
Im aktuellen Script des OP ja - aber das muss nicht sein, wenn man stattdessen auf den Index des Arrays geht und durchzählt.