Genau so. Ich habe es jetzt mal zusammengefummelt. Funktioniert, aber superumständlich, oder?! Geht auch nur innnerhalb von Quadraten ungerader Kantenlänge...
void Spiral2(int x,int y) {
for(int d = 0; d < 5; d++) { //Durchmesser
//waagerecht unten)
for(int i = x-d; i <= x+d; i++) {
leds[XY(i,y-d)] = leds[XY(i+1,y-d)]; }
//rechts
for(int i = y-d; i <= y+d; i++) {
leds[XY(x+d,i)] = leds[XY(x+d,i+1)]; }
//waagerecht oben)
for(int i = x+d; i >= x-d; i--) {
leds[XY(i,y+d)] = leds[XY(i-1,y+d)]; }
//links
for(int i = y+d; i >= y-d; i--) {
leds[XY(x-d,i)] = leds[XY(x-d,i-1)]; }
}
}