D
Hm, ich hab mir jetzt folgendes überlegt:
Eine Bedingung wurd durch eine structur repräsentiert. In der struct steht dann die Buttonnummer, von der der button abhängig ist und die art der abhängigkeit.
Jeder Button hat zwei Listen. Eine Liste enthält die abhängigkeiten (Liste 1) . Die zweite Liste (Liste 2) enthält zeiger auf abhängigkeiten.
Bsp:
Ich setze für Button 2 eine Abhängigkeit der Art X. Er ist von Button 1 abhängig.
Jetzt wird in Liste 1 von Button 2 diese Abhängigkeit reingeschrieben, wieder als struct.
In Liste 2 von Button 2 wird ncihts geschrieben.
In Liste 1 von Button 1 wird ncihts geschrieben.
In Liste 2 von Button 1 wird ein Zeiger auf das oben eingefügte Element (Button 2 Liste 1) hinterlegt.
Wenn jetzt der status eines buttons geändert wird, dann wird zuerst anhand von Liste 1 geprüft, ob diese änderung überhaupt zulässig ist und dann alle buttons, die von diesem Button abhängig sind anhand von Liste 2 geändert.
Keine Ahnung, ob das ne sinnvolle Lösung ist, ist mir in Ethik eingefallen