From fc82f1aeae32ed2b0324e83ba3bb7ddb7904fbb4 Mon Sep 17 00:00:00 2001 From: ekresse Date: Wed, 6 Jan 2021 23:02:47 +0100 Subject: [PATCH] =?UTF-8?q?Update=20GUI=20und=20hinzuf=C3=BCgen=20von=20GU?= =?UTF-8?q?I=20Zugriff=20im=20Spiel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/gui/Dashboard_GUI.java | 19 +++++++++---------- src/de/jaujau/gui/GUI.java | 7 ++----- src/de/jaujau/spiellogik/Spiel.java | 17 +++++++++++------ 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/de/jaujau/gui/Dashboard_GUI.java b/src/de/jaujau/gui/Dashboard_GUI.java index c09dd36..03488d8 100644 --- a/src/de/jaujau/gui/Dashboard_GUI.java +++ b/src/de/jaujau/gui/Dashboard_GUI.java @@ -120,7 +120,6 @@ public class Dashboard_GUI extends JPanel{ @Override public void mouseClicked(MouseEvent e) { aktuellesSpiel.karteZiehen(); - aktualisiereHand(aktuellesSpiel, texturenpakete); aktualisiereGUI(); } }); @@ -169,7 +168,7 @@ public class Dashboard_GUI extends JPanel{ aktuellesSpiel = Spiel; System.out.println("DASHBOARD: Game darstellen"); cl.show(panelCont, "2"); - aktuellesSpiel.spiel(); + aktuellesSpiel.spiel(this); aktualisiereGUI(); } @@ -223,7 +222,7 @@ public class Dashboard_GUI extends JPanel{ } - void aktualisiereHand(Spiel aktuellesSpiel, Texturenpakete texturen) { + void aktualisiereHand() { //Alle Elemente entfernen for(Component c : spielerkarten.getComponents()){ @@ -249,20 +248,20 @@ public class Dashboard_GUI extends JPanel{ aktualisiereGUI(); } }); - labels[i].setIcon(new ImageIcon(texturen.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); + labels[i].setIcon(new ImageIcon(texturenpakete.getTextur(aktuellesSpiel.getKartensatz().getHand(Spieler.SPIELER).get(i)).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); spielerkarten.add(labels[i]); spielerkarten.updateUI(); //Panel erneuern } } - void aktualisiereAblage(Spiel aktuellesSpiel, Texturenpakete texturen){ - ablagestapel.setIcon(new ImageIcon(texturen.getTextur(aktuellesSpiel.getKartensatz().getletzteKarte()).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); + void aktualisiereAblage(){ + ablagestapel.setIcon(new ImageIcon(texturenpakete.getTextur(aktuellesSpiel.getKartensatz().getletzteKarte()).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); ablagestapel.revalidate(); ablagestapel.repaint(); } - void aktualisiereSpieleranzeige(Spiel aktuellesSpiel) { + void aktualisiereSpieleranzeige() { if(aktuellesSpiel.getamZug() == Spieler.COMPUTER) { label_aktuellerSpieler.setText("Gegner"); label_aktuellerSpieler.setForeground(Color.RED); @@ -279,9 +278,9 @@ public class Dashboard_GUI extends JPanel{ } public void aktualisiereGUI(){ - aktualisiereSpieleranzeige(aktuellesSpiel); - aktualisiereAblage(aktuellesSpiel, texturenpakete); - aktualisiereHand(aktuellesSpiel, texturenpakete); + aktualisiereSpieleranzeige(); + aktualisiereAblage(); + aktualisiereHand(); } } diff --git a/src/de/jaujau/gui/GUI.java b/src/de/jaujau/gui/GUI.java index 8b8c817..b255ba7 100644 --- a/src/de/jaujau/gui/GUI.java +++ b/src/de/jaujau/gui/GUI.java @@ -40,7 +40,7 @@ public class GUI extends JFrame{ public GUI (Texturenpakete texturenpakete, Spielerverwaltung speicherung) { setMinimumSize(new Dimension(1000, 600)); - aktuellesSpiel = new Spiel(); + // jaujau.getAktuellesSpiel(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("JauJau"); @@ -122,9 +122,6 @@ public class GUI extends JFrame{ //Spiel_GUI Spiel_GUI = new Spiel_GUI(); dashboard.add(Dashboard_GUI, BorderLayout.CENTER); - - - //Event Listener @@ -159,7 +156,7 @@ public class GUI extends JFrame{ gamelabel.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { - aktuellesSpiel = new Spiel(); + aktuellesSpiel = new Spiel(Dashboard_GUI); System.out.println("GUI: Spiel GUI geöffnet"); Dashboard_GUI.showgame(aktuellesSpiel); } diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index b777346..7bfe263 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -6,6 +6,7 @@ import de.jaujau.daten.Audio; import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Spieler; import de.jaujau.daten.Wert; +import de.jaujau.gui.Dashboard_GUI; @@ -25,13 +26,15 @@ public class Spiel { private boolean aussetzen; private boolean zwei_ziehen; private int kartenZiehen; + private Dashboard_GUI dashboard; - public Spiel() { + public Spiel(Dashboard_GUI dashboard_gui) { computerGegner = new Computer_gegner(); audio = new Audio(); kartensatz = new Kartensatz(); spielzug = new Spielzug(); spielgestartet = false; + dashboard = dashboard_gui; } public boolean getAussetzen() { @@ -57,7 +60,7 @@ public class Spiel { /** * Organisiert den Spielablauf */ - public void spiel() { + public void spiel(Dashboard_GUI dashboard) { //Spiel nicht gestartet if(!spielgestartet) { System.out.println("Spiel gestartet."); @@ -88,6 +91,7 @@ public class Spiel { //Spiel bereits gestartet if(amZug == Spieler.SPIELER) { amZug = Spieler.COMPUTER; + dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert System.out.println("Computer am Zug"); //wenn möglich Computer soll Karte legen if(spielzug.zugMoeglich(Spieler.COMPUTER)) { @@ -123,8 +127,9 @@ public class Spiel { // Spieler Gewonnen aufrufen, Punkte aktualisieren // Highscore Page oder Startseite aufrufen } - spiel(); effekteSetzen(); + spiel(dashboard); + } } else { @@ -146,16 +151,16 @@ public class Spiel { } kartenZiehen = 0; zwei_ziehen = false; - spiel(); + spiel(dashboard); } else { kartensatz.ziehen(amZug); - spiel(); + spiel(dashboard); } } else { aussetzen = false; - spiel(); + spiel(dashboard); } System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));