Hallihallo!
Tach.
Methode 4: Jede Truhe fragt den Schiedsrichter, wie sie auf einen Klick reagieren soll.
Dazu bräuchte man nur eine entsprechende Schiedsrichtermethode, die aufgrund der Anzahl bisher geöffneter Truhen "ok" oder "nein" sagt.Das ist so etwas, wie ich in Methode 1 beschrieben habe: Die Entscheidung wird nicht gefällt, bevor der Event die Truhe erreicht. Also muß sich die Truhe um die umgebende Spiellogik kümmern, obwohl ich das nach Möglichkeit voneinander trennen möchte.
Wobei Du hierbei aber keinerlei globale Variablen bräuchtest, die Du ja zu recht vermeiden möchtest.
Vielleicht reden wir ja auch aneinander vorbei. Was ich meinte, ist Folgendes:
- Truhe wird geklickt.
- Truhe: "Verdammt, ich wurde geklickt! Was muss ich´n da machen? Am besten mal nachfragen...
He, Spielfeld! Wie sieht´s aus? Darf ich mich öffnen lassen, oder lieber nicht?" - Spielfeld: "Hmm, mal überlegen. Also im Moment hab ich hier 3 offene Truhen rumliegen. Warte mal eben...."
- Spielfeld tut irgendwas hochwichtiges, was die Regeln so vorschreiben (z.B. andere Truhen schliessen, oder was auch immer)
- Spielfeld an Truhe: "Jupp, jetzt kannste! Aber bau keinen Mist, ich hab Dich gespeichert!" oder eben "Neeeee Du, lass mal. Noch ´ne offene Truhe mehr kann ich echt nicht gebrauchen."
- Truhe öffnet sich, oder eben nicht. Was die anderen Truhen machen, interessiert sie nicht. Darum kümmert sich das Spielfeld.
So zumindest würde ich es machen. Globale Variablen bräuchte es dafür nicht...
Falls das unsauber ist, soll mich bitte Irgendwer zurechtweisen, denn so in der Art gehe ich in anderen Fällen auch vor...
Viele liebe Grüße,
Der Dicki