[Java] Frage zu Klassenaufbau - wie am Besten?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Mazen2004, 5. September 2012 .

Schlagworte:
  1. 5. September 2012
    Frage zu Klassenaufbau - wie am Besten?

    Heyho,
    Ich versuche gerade effizient und "schön" zu programmieren. Ich möchte nun ein von mir damaliges Java Game (Pong mit Steinen ab n) neu schreiben, weil ich das damals echt hässlich alles in eine Klasse gekritzelt hatte.

    Wie kapsel ich das nun am Besten alles? Vorschlag:
    Frame-Klasse - alles was angezeigt wird
    Control-Klasse - tastenerkennung, wird von frame klasse aufgerufen (da keylistener ja aufm frame liegen), muss aber ja auch auf berechnugsklasse zugreifen?
    Main-Klasse - ruft Frame-Klasse auf und while loop mit Berechnungs-Klasse
    Berechnungs-Klasse - Kollission, ball springt ab, Geschwindigkeit, Bewegung etc.


    Welche Klasse soll nun in welcher am Besten erstellt werden, ohne dass es Probleme gibt mit den Objekten?
     
  2. 5. September 2012
    Zuletzt bearbeitet: 5. September 2012
    AW: Frage zu Klassenaufbau - wie am Besten?

    So wird dir kaum jemand helfen können, dein Code ist uns unbekannt und Pong mit Steine abschiessen ist mir auch neu.

    Also, grundästzlich solltest du jeden Aktuer als Objekt deines Programmes in einer Klasse abbilden. Also:


    • Ball
    • Brett
    • Spielfläche
    • Logik
    • Steine
    • Kollisionsabfrage
    • Darstellung
    • Steuerung

    und was du da eben sonst noch so hast. Insgesamt scheint es aber so, als ob dir nicht klar ist, was das mit den Objekten in Java auf sich hat. Da solltest du vielleicht nochmal googlen.
     
  3. 6. September 2012
    AW: Frage zu Klassenaufbau - wie am Besten?

    Du weißt genau, dass ich Breakout meine

    Lang ists her...

    Also ich hab nun Klassen:

    grafic
    ball extends grafic
    brick extends grafic
    paddle extends grafic
    calculation (enthält logik, kollisionsabfage)
    display
    main

    Die Steuerung sind ja keylistener. Die sind ja auf dem Frame, sollen aber methoden in der calculation aufrufen...
     
  4. 6. September 2012
    Zuletzt bearbeitet: 6. September 2012
    AW: Frage zu Klassenaufbau - wie am Besten?

    Ich würde folgenden Aufbau nehmen.

    Entity - X,Y Koordinaten, Leben und Variablen die fast alle brauchen (Steine, Ball, Plattform, Power-Ups etc.)
    Moveable erbt von Entity -> Hinzufügen von Bewegungsgeschwindigkeit (z.B. für Brett/Ball/Fallende Power-Ups)
    PowerUp erbt von Moveable -> Was macht das PowerUp
    Player/Brett erbt von Moveable -> hinzufügen / Einbindung von KeyListener
    statische Kollisions Klasse mit Methoden wie "kollidieren(Object o1, Object o2)"
    Animation -> Bild mit mehreren Bildern in einzelne Bilder aufteilen und als Animation wiedergeben (komischer Satz )
    Menu (falls erwünscht)
    GUI
    Main -> Startet alles

    Glaube das sollte das meiste sein

    PS: Kannst dir ja mal die ZIP-Datei runterladen und das Tutorial für 2D Java Games anschauen. Ist gut erklärt und mit Beispielbildern/Code.

    Quelle: www.java-forum.org
     
  5. 6. September 2012
    AW: Frage zu Klassenaufbau - wie am Besten?

    Die listener solltest du aus deinem Frame herauslösen. Eine GUI-Klasse sollte sowenig Logik wie möglich beinhalten, damit (theoretisch) ein GUI für verschiedene Projekte einsetzbar ist.

    Dazu gehört auch, die Listener in einer GUI-Controller-Klasse zu definieren. Um auf die Komponenten des Frames zugreifen zu können, gibt es verschiedene Möglichkeiten des Schnittstellenentwurfs. Der simpelste, aber auch hässlichste ist, für jede Komponente einen Member zu setzen.

    Ich bevorzuge eine public Methode (z.B. findComponent(Eigenschaft eigenschaft)), die mir alle Komponenten liefern kann, die mein Suchkriterium erfüllen.
     
    1 Person gefällt das.
  6. 7. September 2012
    AW: Frage zu Klassenaufbau - wie am Besten?

    ok danke! Hat mir sehr geholfen wieder rein zu kommen.

    Besonders beim "listener vom frame kapseln" war das Problem, wie man das optimal löst.

    Werd das nun mal so probieren.


    Bewertungen sind für alle raus, so weit es möglich war
     
  7. 9. September 2012
    AW: Frage zu Klassenaufbau - wie am Besten?

    ^^ Ich habe auch in etwa mit einer Struktur gearbeitet wie Blue Sin sie beschrieben hat. Bin selbst nicht immer auf dem aktuellsten Java Stand. Von daher würde ich das auch für gelegentliche Anwender so weiterempfehlen, mir hat es jedenfalls gute Dienste geleistet.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.