Closed PCoura closed 10 years ago
Wann und wie tritt dieser Fehler auf?
wenn alle geplaced, haben ist aber serverlogic, nicht gamelogic
hängt daran, dass der Aktuelle Spieler trotz Phasenwechsel nicht geändert wird
wo geht denn der phasenwechsel durch?
Irgendwie wird 2 mal der Spieler geändert. Kann sein dass das an mir liegt. Debugge gerade durch
mal abgesehen davon würde ich die hascode methode und equasl methode in deiner player klasse überschreiben, z.b. so... ist nur so n tipp, wenn man so hashmaps benutzt unso, sollte mand as allgemein machen, da sich bei listen wenn man z.b. ne neue liste macht die hashcodes der objekte ändern, ist in diesem fall noch nicht zwingend derforderlich, aber empfehlenswert
@Override public int hashCode(){ return ID; }
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (getClass() != obj.getClass())
{
return false;
}
final Player p = (Player) obj;
return (this.getId() == p.getId());
}
java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at Network.WebSocket.WebSocketHandler.handleApiRequest(WebSocketHandler.java:115) at Network.WebSocket.WebSocketHandler.onMessage(WebSocketHandler.java:78) at org.webbitserver.netty.DecodingHybiFrame$1.go(DecodingHybiFrame.java:54) at org.webbitserver.netty.CatchingRunnable.run(CatchingRunnable.java:13) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.RuntimeException: currentPlayer ID:31852973nicht mehr vorhanden at ServerLogic.Helper.FirstUnitPlacementHelper.ApplyChangesToGame(FirstUnitPlacementHelper.java:54) at ServerLogic.Helper.FirstUnitPlacementHelper.ApplyChangesToGame(FirstUnitPlacementHelper.java:41) at ServerLogic.ServerLogic.EndFirstUnitPlacement(ServerLogic.java:69) at ServerApi.RisikoServer.endFirstUnitPlacement(RisikoServer.java:426) ... 15 more
31852973 disconnected