Satz­ma­schi­ne

// Array für die Artikel vor dem Substantiv und das Substantiv
// jeweils 6 Elemente -> Zählung beginnt mit 0
String Artikel_Substantiv [6] [6] =
{
  {"Der ", "Das ", "Die ", "Das ", "Das ", "Der "},
  {"Bus ", "Auto ", "U-Bahn ", "Fahrrad ", "Motorrad ", "Lastwagen "},
};

// eindimensionales Array für die Eigenschaften
String Eigenschaft [6] = {"rasant ", "im Zeitlupentempo ", "schnell ", "langsam ", "zügig ", "im Schritttempo "};

// Array für Verb und das Objekt
String Verb_Objekt [6] [6] =
{
  {"rollt ", "saust ", "rast ", "schleicht ", "fährt ", "bummelt "},
  {"auf die Autobahn. ", "ans Ende der Welt.", "um die Ecke.", "zum Bahnhof.", "zur Haltestelle.", "in die Garage."}
};

// Bereich der zufällig erzeugten Zahlen
int Minimum = 0;
int Maximum = 6;

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
  delay(500);
  Serial.println("s = neuer Satz");
}

void loop()
{
 // auf serielle Eingabe warten 
  while (Serial.available() > 0)  
  {  
    // Eingabe im Seriellen Monitor lesen 
    char Zeichen = Serial.read();

    // wenn s eingegeben wurde
    if (Zeichen == 's')
    {
      int Position =  random(Minimum, Maximum);
      
      /*
        Bestimmung des Artikels und des Substantivs 
        entsprechend der Position im Array Artikel_Substantiv
        0 -> Artikel
        1 -> Substantiv
      */
      Serial.print(Artikel_Substantiv[0] [Position]);
      Serial.print(Artikel_Substantiv[1] [Position]);
      
      // Bestimmung des Verbs -> Position 0 im Array Verb_Objekt
      Position =  random(Minimum, Maximum);
      Serial.print(Verb_Objekt[0] [Position]);
      
      // Festlegung der Eigenschaft
      Position =  random(Minimum, Maximum);
      Serial.print(Eigenschaft[Position]);

      // Objekt auswählen -> Position 1 im Array Verb_Objekt
      Position =  random(Minimum, Maximum);
      Serial.println(Verb_Objekt[1] [Position]);
    }
  }
}