Hallo zusammen,
bin noch relativ neu in der Java Programmierung:
ich kämpfe gerade mit folgendem Problem. Habe ein Spielfeld, das durch ein zweidimensionales Array dargestellt werden soll. Dort werden dann je nach Leveldatei Spielsteine (hier StartToken) eingefügt. Alle möglichen Token habe ich in einer HashMap gespeichert. Hier ein Auszug davon:
Beim erstellen lese ich dann den zu "a" gehörenden Wert aus der Hashmap und schreibe ihn an die entsprechende Arrayposition. Mein Problem ist jetzt nur, sobald ich den Wert von "a" zweimal eingefügt habe, handelt es sich jeweils um das selbe Objekt, sodass ich bei einer Änderung immer beide Objekte ändere. Ich hatte jetzt einmal nach dynamischen Objektnamen gesucht, oder auch clonen, aber nichts passendes gefunden, hoffe es weiß jemand RAT!
Viele Grüße
bin noch relativ neu in der Java Programmierung:
ich kämpfe gerade mit folgendem Problem. Habe ein Spielfeld, das durch ein zweidimensionales Array dargestellt werden soll. Dort werden dann je nach Leveldatei Spielsteine (hier StartToken) eingefügt. Alle möglichen Token habe ich in einer HashMap gespeichert. Hier ein Auszug davon:
Code:
tokenMap = new HashMap<String, Token>();
tokenMap.put("a", new StartToken(0,getEmptyTube("a"), "a"));
tokenMap.put("b", new StartToken(1,getEmptyTube("b"), "b"));
tokenMap.put("c", new StartToken(2,getEmptyTube("c"), "c"));
tokenMap.put("d", new StartToken(3,getEmptyTube("d"), "d"));
tokenMap.put("k", new EndToken(0,getEmptyTube("k"), "k"));
tokenMap.put("l", new EndToken(1,getEmptyTube("l"), "l"));
tokenMap.put("m", new EndToken(2,getEmptyTube("m"), "m"));
tokenMap.put("n", new EndToken(3,getEmptyTube("n"), "n"));
Beim erstellen lese ich dann den zu "a" gehörenden Wert aus der Hashmap und schreibe ihn an die entsprechende Arrayposition. Mein Problem ist jetzt nur, sobald ich den Wert von "a" zweimal eingefügt habe, handelt es sich jeweils um das selbe Objekt, sodass ich bei einer Änderung immer beide Objekte ändere. Ich hatte jetzt einmal nach dynamischen Objektnamen gesucht, oder auch clonen, aber nichts passendes gefunden, hoffe es weiß jemand RAT!
Viele Grüße