übergabe des aktuellen wertes in andere Klasse

Status
Nicht offen für weitere Antworten.

waxweazle

Mitglied
Folgene Ausgangssituation:

Ich habe 3 Klassen.
Klasse 1 = Würfel
Klasse 2 = Spielfeld
Klasse 3 = SpielAblauf

in der Würfelklasse, gibt es folgende Methoden
würfeln
getAugenzahl
setAktiv
setInaktiv
getStatus

in der Spielfeldklasse, gibt es eine Würfelgrafik, die mit einem MousListener angebunden ist und eine Methode
gibAugenzahl
(diese würfelt eine neue zahl, holt sich die Augenzahl, aktualiesiert die Würfelgrafik)

in der SpielAblauf Klasse brauche ich ja auch die Augenzahl, um damit die Logik weiter voranzubringen

Meine Idee zum Ablauf:
Wenn die Logik in der SpielAblaufKlasse angekommen ist, wird dort der Würfel aktiv gesetzt.
Wenn der Würfel aktiv ist, kann man mit der Maus auf den Würfel klicken (der MouseListener fragt ab, ob würfel aktiv ist)
Der Klick löst dann die Funktion gibAugenzahl aus.

Bis hier her funktioniert das wunderbar

Folgendes Problem:
Wie bekomme ich die AKTUELLE Augenzahl in die SpielAblaufKlasse hinein???

Bei allen Varianten die ich mir durchdacht habe, war immer die Gefahr, das man mit Funktionen die die Augenzahl via "return" an die SpielAblaufKlasse zurückgeben, die alte Augenzahl übergibt.
Woher weiß ich, das der Spieler auf den Würfel geklickt hat?
Bzw, wie warte ich darauf ???

Oder hat jemand eine ganz andere Idee???
 
B

Beni

Gast
Mach einen eigenen WürfelListener.

Und dann bau dir z.B. sowas zusammen:
Code:
public interface WürfelListener{
  public void gewürfelt( int zahl );
}
Code:
public class Würfel{
  public void addWürfelListener( ... // einen Listener in irgendeiner Liste speichern

  protected void fireGewürfelt( int zahl ){
    // Alle Listener durchgehen
    for( ...
      wüfelListener.gewürfelt( zahl );
  }
}

Danach funktioniert das identisch, wie z.B. ein MouseListener oder ein ActionListener: die SpielAblaufKlasse registriert den WürfelListener bei einem (oder mehreren) Würfeln.
 
B

Beni

Gast
Speichern:
Code:
List list = new ArrayList(); // von irgendwoher muss die Liste kommen

[...]
addWürfelListener( WürfelListener listener ){
  list.add( listener ); // sehr einfach... :-/
}

Entsprechend
Code:
protected void fireGewürfelt( int zahl ){
  for( int i = 0, n = list.size(); i <n; i++ )
    ((WürfelListener)list.get(i)).gewürfelt( zahl );
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
JavaNoobi Try and Catch und übergabe von Objekten Java Basics - Anfänger-Themen 2
A Problem mit set.Text und übergabe Java Basics - Anfänger-Themen 2
Furtano OOP Memento Pattern | übergabe einer Kopie des Arrays Java Basics - Anfänger-Themen 0
J Problem bei Param.übergabe und dem erstellen von JButtons Java Basics - Anfänger-Themen 4
M problem mit string übergabe an klasse Java Basics - Anfänger-Themen 10
A übergabe wert in andere klasse Java Basics - Anfänger-Themen 8
A konstruktor übergabe fehler Java Basics - Anfänger-Themen 8
G JFileChooser übergabe an Directory Java Basics - Anfänger-Themen 4
M [SOLVED]parameter übergabe an objekte Java Basics - Anfänger-Themen 2
Z übergabe von string[] an konstruktoren oder methoden Java Basics - Anfänger-Themen 3
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
G Sekunden bis zum Ende der aktuellen Kalenderwoche ermitteln! Java Basics - Anfänger-Themen 3
J aktuellen Timestamp ziehen Java Basics - Anfänger-Themen 3
G aktuellen Rechnersound aufnehmen Java Basics - Anfänger-Themen 7
W Aktuellen Pfad Java Basics - Anfänger-Themen 4
C aktuellen Pfad der Anwendung ermitteln Java Basics - Anfänger-Themen 5
D wechsel des aktuellen spielers Java Basics - Anfänger-Themen 2
J Wie den absoluten Pfad der aktuellen Klasse herausbekommen? Java Basics - Anfänger-Themen 6
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
C das Doppelte des Wertes in der Console ausgeben Java Basics - Anfänger-Themen 10
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
V Wie wiederhole ich eine for-Schleife beim erreichen eines Wertes Java Basics - Anfänger-Themen 9
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
karlmasutra Klassen Rückgabe eines Wertes aus einer anderen Klasse Java Basics - Anfänger-Themen 3
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
D Einlesen eines Enum-Wertes per console Java Basics - Anfänger-Themen 3
G Probleme mit erneuern des Wertes in JSpinner Java Basics - Anfänger-Themen 9
B Ausgabe eines boolean wertes Java Basics - Anfänger-Themen 10
S ermitteln eines Wertes im StringArray Java Basics - Anfänger-Themen 4
P Rueckgabe des kleinsten Wertes Java Basics - Anfänger-Themen 9
F Klassenaufruf mit Rückübergabe eines Wertes an die aufrufende Klasse Java Basics - Anfänger-Themen 4
A OOP Übergabe eines Wertes an den enum Konstruktor Java Basics - Anfänger-Themen 12
J Länge eines long wertes Java Basics - Anfänger-Themen 13
K For Schleife: Ausgabe des 1000-ten und 1001 Wertes Java Basics - Anfänger-Themen 6
I Problem bei der benutzung eines wertes aus 2 quelltexten Java Basics - Anfänger-Themen 3
G Häufigkeit d. Auftritts eines Wertes im Array Java Basics - Anfänger-Themen 7
A JTable bei löschen oder hinzufügen eines Wertes aktualisiere Java Basics - Anfänger-Themen 12
G Beschreibung eines 'leeren' char-Wertes Java Basics - Anfänger-Themen 3
H Übergabe eines Wertes an eine Bean --> Bean leer Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben