Habe vergessen wie man "Unterprogramme" macht

Hallo,
so würde ich das machen - im Prinzip. Habs nicht getestet, im Groben müsste es aber funktionieren...
Eine Funktion fürs gehen,
eine Funktion fürs drehen,
und eine Funktion mit dem gehen / drehen Ablauf fürs komplette Rechteck, die dann aufgerufen wird.

Beste Grüße!

int motorPinLinks = 9;    
int motorPinRechts = 8;  


void setup()  { 
  digitalWrite(motorPinLinks, LOW); 
  digitalWrite(motorPinRechts, LOW);
} 

void loop()  { 
  rechteckGehen();
  delay (1000);
}

// Funktion - damit sich beide Räder drehen mit der Variable dauer für die Fahrtzeit
void gehen(int dauer){
  digitalWrite(motorPinLinks, HIGH); 
  digitalWrite(motorPinRechts, HIGH);      
  delay(dauer); 
  digitalWrite(motorPinLinks, LOW); 
  digitalWrite(motorPinRechts, LOW);
}
// Funktion - damit sich nur das linke Rad dreht mit der Variable dauer für die Drehzeit
void drehen(int dauer){
  digitalWrite(motorPinLinks, HIGH); 
  delay(dauer); 
  digitalWrite(motorPinLinks, LOW); 
}
// Funktion für das Rechteck
void rechteckGehen(){
  // Schleife, um den Ablau drinnen 4 mal auszuführen
  for(int i = 1 ; i <= 4; i++) { 
    gehen(1000);
    delay(10); // 10 Millisekunden warten zwischen gehen und drehen
    drehen(100);    
    delay(10); // 10 Millisekunden warten zwischen gehen und drehen
  } 
}