N0T3P4D / PSE

PSE 2010
GNU General Public License v3.0
5 stars 0 forks source link

Sofortiges Bankrott #2

Closed danielgrahl closed 13 years ago

danielgrahl commented 13 years ago

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.

xZise commented 13 years ago

Kann ich leider nur bestätigen ich bin dran.

Fabian

xZise commented 13 years ago

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

MaxGitHubAccount commented 13 years ago

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.

xZise commented 13 years ago

Also ich konnte bankrott gehen und dann Geld beschaffen (durch eine Hypothek) und es ging weiter.

Fabian

xZise commented 13 years ago

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

MaxGitHubAccount commented 13 years ago

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)

xZise commented 13 years ago

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

MaxGitHubAccount commented 13 years ago

dementsprechend wird nun auch das onBankrutcy Event im Client benutzt.