Hallo Felix,
Zitat:ist das Programm deiner Meinung nach jetzt besser? Ich hoffe ich habe das mit der State-Machine richtig verstanden. Über Verbesserungsvorschläge wäre ich auf jeden Fall dankbar
Na ja.
Folgendes:
- viel zu viele lokale Variablen. Nutze Drähte stattdessen!
- viel zu viel kopierte Strukturen. Diese ganzen duplizierten Case-Strukturen... Warum die Unterscheidung in "Rauf" und "Runter"-Case, wenn der einzige Unterschied in einem "+1" oder "-1" besteht?
- man sollte den State einer Statemachine überall durchverdrahten. Wenn man zwischendurch auf "default"-Werte zurücksetzt, stürzt plötzlich der Lift ab...
- nimm (typdefinierte) Enums statt Strings zur State-Auswahl. Dann kannst du prima auf (leere) "Voreinstellung"-Cases verzichten...
- RubeGoldberg: es gibt fertige Funktionen wie "+1" und "-1".
Siehe Anhang für ein paar Veränderungen. Es gibt noch viel mehr zu vereinfachen...
Guck dir die Eventstruktur an, wie dort die Schalter ausgewertet werden!