Ich würde das Array nicht verschieben, sondern stattdessen eine integer-Variable namens Anfang machen, die die aktuelle "ganz-links"-Position speichert.
Beim Zeichnen fängst du bei diesem Wert an, wenn du das Ende des Arrays erreicht hast machst du am Anfang weiter, und zwar solange bis du wieder beim Ende (also Anfang-1) bist.
Wenn du einen neuen Wert einträgst, überschreibst du einfach das Ende (Anfang-1) damit.
Dadurch musst du überhaupt nichts verschieben. Ist
IMHO einfacher und natürlich wesentlich schneller.
Tubos