Guten Abend,
ich habe bei der Umsetzung eines kleinen Spiels ein Problem.
Ich möchte die Ausgänge eines Spiel-Raumes in einer HashMap verwalten.
Dafür habe ich in einer Klasse Room folgende Änderungen gemacht:
In beiden Versionen (auskommentiert und die Zeile darunter) funktioniert es nicht.
Ich denke aber, dass eigentlich die besser Lösung Variante2 wäre. Da beim Übergeben der Räume, nicht vorhandene Ausgänge sowieso mit null belegt sind. Also muss darauf bei der Belegung der Map nicht unbedingt nochmals getestet werden.
Leider kommt es beim Anlegen eines Neuen Spiels zu folgendem Fehler:
Zeile: exitMap.put( "north", north);
Fehler: NullPointerException null
Woran kann das liegen?!? Es wäre nett, wenn Ihr mir dabei weiterhelfen könntet...
ich habe bei der Umsetzung eines kleinen Spiels ein Problem.
Ich möchte die Ausgänge eines Spiel-Raumes in einer HashMap verwalten.
Dafür habe ich in einer Klasse Room folgende Änderungen gemacht:
Code:
//eine Map exitMap vom Typ HashMap wir angelegt public HashMap exitMap; //Aufruf der Methode setExits zum definieren der Ausgänge eines Raumes. //Über die Parameter werden die Ausgänge gesetzt. Wird hier null //übergeben, befindet sich in dieser Richtung kein Ausgang public void setExits(Room north, Room east, Room south, Room west) { /* if(north != null) exitMap.put( "north", north); else exitMap.put( "north", null);*/ //<-- Variante1 exitMap.put( "north", north); //<-- Variante2 if(east != null) exitMap.put( "east", east); else exitMap.put( "east", null); if(south != null) exitMap.put( "south", south); else exitMap.put( "south", null); if(west != null) exitMap.put( "west", west); else exitMap.put( "west", null); }
Ich denke aber, dass eigentlich die besser Lösung Variante2 wäre. Da beim Übergeben der Räume, nicht vorhandene Ausgänge sowieso mit null belegt sind. Also muss darauf bei der Belegung der Map nicht unbedingt nochmals getestet werden.
Leider kommt es beim Anlegen eines Neuen Spiels zu folgendem Fehler:
Zeile: exitMap.put( "north", north);
Fehler: NullPointerException null
Woran kann das liegen?!? Es wäre nett, wenn Ihr mir dabei weiterhelfen könntet...
Kommentar