Closed danielgrahl closed 13 years ago
Kann ich leider nur bestätigen ich bin dran.
Fabian
Okay war ein Problem des GUI Clients. Er hatte angenommen, sobald eine Person weniger als 0 übrig hat, sei er bankrott. Ich habe es im Commit 759af9eb276bc9bb90130e4afe104e47e1804c61 gefixt.
Fabian
Das Problem ist leider noch nicht ganz gefixt, der negative Geldbetrag war ein Workaround. Nun muss im GameState noch ein Spieler auf bankrott gesetzt werden. Da in Fabians Commit zumindest nun ein setBankrupt im ClientBase vorhanden ist und ein informBancruptcy im Client ankommt muss irgendetwas dazwischen den Fehler auslösen.
Also ich konnte bankrott gehen und dann Geld beschaffen (durch eine Hypothek) und es ging weiter.
Fabian
Okay ich habe mir das mal angeguckt:
11.02.11 19:54:41: [INFO] org.ojim.client.ClientBase.informBankruptcy(): informBankruptcy()
11.02.11 19:54:41: [INFO] org.ojim.client.ClientBase.informBankruptcy(): informBankruptcy()
11.02.11 19:54:41: [INFO] org.ojim.client.ai.AIClient.onBankruptcy(): Call (@0) onBankruptcy()!
11.02.11 19:54:41: [INFO] org.ojim.client.ClientBase.informBankruptcy(): informBankruptcy()
11.02.11 19:54:41: [INFO] org.ojim.client.ai.AIClient.onBankruptcy(): Call (@1) onBankruptcy()!
11.02.11 19:54:41: [INFO] org.ojim.client.ClientBase.informBankruptcy(): informBankruptcy()
11.02.11 19:54:41: [INFO] org.ojim.client.ai.AIClient.onBankruptcy(): Call (@2) onBankruptcy()!
-- DEBUG -- on Bankruptcy
Sieht einfach so aus, als würde der GUI Client das ignorieren.
Okay ich sehe gerade das ist dir auch aufgefallen: https://github.com/N0T3P4D/PSE/issues#issue/6
Dann ist dieses Problem doch gelöst.
Fabian
In Issue 6 geht es um eigene Bancruptcy (also die der GUI). Wenn ich mich richtig erinnere wurde onBancruptcy früher nur geworfen wenn ich pleite gehe und nicht generell wenn ein Spieler pleite geht. Issue 6 ist so oder so damit zu lösen, die Frage ist - soll die GUI nun Bancruptcy für jeden Spieler aus diesem Event holen? onBancruptcy wird ja nun für jeden Spieler geworfen und bedeutet der aktive Spieler ist bankrott. Auch wenn das so bleibt, wäre es cool wenn der GameStatebankrott für eine Prüfung trotzdem funktioniert. (Tut er das bei dir? - habe noch nicht die neuste Version gepullt)
onBankruptcy wurde früher falsch aufgerufen. Das habe ich mit diesem Issue gefixt. Das heißt du muss einfach den entsprechenden Spieler auf bankrott setzen und eventuell alles andere veranlassen.
Fabian
dementsprechend wird nun auch das onBankrutcy Event im Client benutzt.
Hat man mehr zu zahlen als Bargeld übrig, wird man sofort bankrott erklärt, obwohl man noch Straßen verkaufen oder Hypotheken aufnehmen könnte.