Fragen zu HashMaps

J

JustNobody

Top Contributor
Hmm, da hast Du jetzt paar Anpassungen drin, die vorher nicht da waren. So ist es jetzt eine HashMap mit einem String als key. Das war vorher nicht so. Wenn Du da den DisplayName wählst, ist die Frage tatsächlich, ob der eindeutig ist. Wenn der nicht eindeutig ist, dann kommt es zu dem, was Du schon erwähnt hast....

Paar Hinweise zu dem Code:
a) p.getLocation().getWorld().getName().equals("world") ist ein Konstrukt, welches ich kritisch finde. Deine Klasse hat eine Abhängigkeit zu Location, was ok ist, aber dann geht es noch weiter mit Wissen über die Welt und dass diese einen Namen hat und dass es eine spezielle Welt mit Namen "world" gibt.
==> Die Konstanten sollten nicht als Literale im Code stehen sondern als Konstanten definiert sein. Also hier in World (oder wie die Klasse heissen mag) ein "public static final String MAIN_WORLD_NAME = "world"; oder so. Und das Wissen, wann eine Welt die Hauptwelt ist, gehört auch in die Welt Klasse. Also sowas wie:
Java:
  public boolean isMainWorld() {
      return getName().equals(MAIN_WORLD_NAME);
  }
(Vereinfacht dargestellt. Validierung vom Namen wird evtl. noch gewünscht, um eine NPE zu vermeiden oder so ...)
==> Was bedeutet dies für Location? Was bedeutet das für Location? Was ist das für ein Attribut? Das wird dann evtl. sowas wie:
Java:
  public boolean isInsideMainWorld() {
      return getWorld().isMainWorld();
  }

==> Und das dann auch noch für p (Player?). Wann ist ein Player in so einer Location? isInGame? Oder was wäre das?
Aber nach dem Schema von oben: Du hast dann nur noch if (p.isInGame()) und die Klasse interessiert sich nicht für Location und World und was weiss ich - nur weil es daran interessiert ist, ob ein Spieler wirklich im Spiel ist oder nicht.

b) Das ist eine Mega Methode. Die würde ich auf jeden Fall aufteilen. Was für Grenzen sind da denn aktiv? Ist das sowas wie ein Level? Würde ich entsprechend festlegen und dann hat man nur noch eine Überprüfungen an einer Stelle a.la. LevelGrenze erreicht mit einem bestimmten erreichten Level sowie das man befindet sich in einem Level oder so ....

c) Du baust da so massive Zeichenketten auf mit § und / Zeichen und so. Da scheinst Du Daten in einem String kodiert zu speichern. Da solltest Du Daten in Rohform speichern und so Du so einen String wirklich brauchst z.B. zur Ausgabe oder von mir aus zur Serialisierung, dann baust Du den String in der Klasse, die die Werte speichert, zusammen bzw. parst Du. Das ist aber auch ein Spezialwissen, das in eine Klasse gekapselt werden muss. Und dann wird ansonsten nur darauf zugegriffen. (Selbst wenn das Speichern nicht als eigenständige Klasse gewünscht wird, würde ich das zusammen ziehen in Methoden um da wenigstens nicht ständig immer wieder so Code schreiben zu müssen sondern statt dessen aussagekräftige Methoden aufrufe.)
 
C

Cury

Aktives Mitglied
Ok ich werde jetzt einfachmal die Klasse in Methoden, wie z.B:
Java:
public void addXp(HashMap<String, Integer> map, ItemStack i)
aufteilen.
Danke für deine Hilfe!
 
J

JuKu

Top Contributor
Du solltest auch mal darüber nachdenken, mehr JUnit Tests zu schreiben.
Dann wird 1. der Code besser und 2. fällt einem dann schneller auf, wo der Fehler liegt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Fragen zu "Physics-Body-Editor"? Spiele- und Multimedia-Programmierung 0
J Fragen zur Gui-Aktualisierung Spiele- und Multimedia-Programmierung 2
A Langtons Ameise - Fragen zur Umsetzung Spiele- und Multimedia-Programmierung 1
D Ein paar Fragen... Spiele- und Multimedia-Programmierung 5
H LWJGL: Fragen zum Verständnis Spiele- und Multimedia-Programmierung 7
Helgon Fragen zur Umsetzung Spiele- und Multimedia-Programmierung 17
A Klickgame ala "Harveys neue Augen" oder "Edna bricht aus" in Java programmieren... Fragen zu Kleinig Spiele- und Multimedia-Programmierung 8
Samake03 [Game]"Plumbo - Lost in Depth" Preview und Fragen Spiele- und Multimedia-Programmierung 18
A Fragen zu MMO Spiele- und Multimedia-Programmierung 6
N Ein paar fragen zu JOGL Spiele- und Multimedia-Programmierung 4
M Grundsätzliche Java3D Fragen Spiele- und Multimedia-Programmierung 2
D 3 JMF Fragen Spiele- und Multimedia-Programmierung 8
M Allgemeine Fragen zu JOGL2 / OpenGL3.2 Spiele- und Multimedia-Programmierung 36
M Fragen wegen Spieleprogrammierung Spiele- und Multimedia-Programmierung 17
M Fragen zu meinem Pong-Clone Spiele- und Multimedia-Programmierung 6
S glTexSubImage2D()-Fragen(Zerstörbares Terrain, OpenGL) Spiele- und Multimedia-Programmierung 3
K Game-Tutorial von Quaxli Fragen Spiele- und Multimedia-Programmierung 18
D Zwei Fragen (Exponential Fog und Schein-nach-außen-Effekt) Spiele- und Multimedia-Programmierung 6
H Einstieg erfolgreich ;), nun nur noch paar Fragen^^ Spiele- und Multimedia-Programmierung 13
V Fragen zum PositionPathInterpolator und RotationInterpolator Spiele- und Multimedia-Programmierung 2
N 4 Gewinnt fertig (Kritik, Fragen etc. erwünscht) Spiele- und Multimedia-Programmierung 29
J 3d Programmierung, Fragen: Spiele- und Multimedia-Programmierung 14
T Größeres Spiele Projekt - einige Fragen zur Umsetzung Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Anzeige


Oben