From ee20cea0eba1208c93a068b6c654e5bf932085a3 Mon Sep 17 00:00:00 2001 From: dustineversmann Date: Tue, 7 Jan 2025 07:44:50 +0100 Subject: [PATCH] =?UTF-8?q?feature(feature):=20Anpassungen=20f=C3=BCr=20Te?= =?UTF-8?q?sts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Anpassungen an Attributen der Klassen, um die Testbarkeit zu ermöglichen --- .../java/de/deversmann/facade/Facade.java | 4 --- src/main/java/de/deversmann/gui/GameView.java | 30 ++++++++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/main/java/de/deversmann/facade/Facade.java b/src/main/java/de/deversmann/facade/Facade.java index 2fc2428..0c95a1a 100644 --- a/src/main/java/de/deversmann/facade/Facade.java +++ b/src/main/java/de/deversmann/facade/Facade.java @@ -78,10 +78,6 @@ public class Facade { return highscoreManager.getAverageTime(currentPuzzleName); } - public String getCurrentPuzzleName() { - return currentPuzzleName; - } - public void saveCurrentPuzzleHighscoreToFile() throws IOException { if (currentPuzzleName == null) return; String base = currentPuzzleName.replaceAll(".*/", ""); diff --git a/src/main/java/de/deversmann/gui/GameView.java b/src/main/java/de/deversmann/gui/GameView.java index e2afa5f..34f38df 100644 --- a/src/main/java/de/deversmann/gui/GameView.java +++ b/src/main/java/de/deversmann/gui/GameView.java @@ -5,22 +5,24 @@ import de.deversmann.facade.Facade; import javax.swing.*; import java.awt.*; import java.io.IOException; +import java.util.HashSet; import java.util.List; import java.util.Random; +import java.util.Set; public class GameView extends JFrame { private final Facade facade; - private SpielfeldGUI spielfeldGUI; + SpielfeldGUI spielfeldGUI; - private JComboBox cbSpielfelder; - private JButton btnLoad; - private JButton btnRandom; - private JButton btnCheckSolution; - private JButton btnShowSolution; - private JButton btnReset; - private JLabel timeLabel; - private Timer timer; + JComboBox cbSpielfelder; + JButton btnLoad; + JButton btnRandom; + JButton btnCheckSolution; + JButton btnShowSolution; + JButton btnReset; + JLabel timeLabel; + Timer timer; private final String[] spielfelder = { "4x4.csv", @@ -96,7 +98,7 @@ public class GameView extends JFrame { timer.start(); } - private void ladeSpielfeld(String pfad) { + void ladeSpielfeld(String pfad) { try { facade.ladeSpielfeld(pfad); facade.loadCurrentPuzzleHighscoreFromFile(); @@ -115,7 +117,7 @@ public class GameView extends JFrame { } } - private void checkSolution() { + void checkSolution() { var blackCells = spielfeldGUI.getBlackCells(); var solutionCoordinates = facade.getLoesungsKoordinaten(); if (solutionCoordinates == null) { @@ -199,7 +201,7 @@ public class GameView extends JFrame { JOptionPane.showMessageDialog(this, sb.toString(), "Ergebnis", JOptionPane.INFORMATION_MESSAGE); } - private boolean containsCell(List blackCells, String sol) { + boolean containsCell(List blackCells, String sol) { String[] parts = sol.split(","); int rr = Integer.parseInt(parts[0]); int cc = Integer.parseInt(parts[1]); @@ -211,7 +213,7 @@ public class GameView extends JFrame { return false; } - private void showSolution() { + void showSolution() { var feld = facade.getAktuellesPuzzle(); if (feld == null) return; spielfeldGUI.updateGrid(feld); @@ -225,7 +227,7 @@ public class GameView extends JFrame { spielfeldGUI.setAllNonBlackToWhite(); } - private void resetField() { + void resetField() { var feld = facade.getAktuellesPuzzle(); if (feld != null) { spielfeldGUI.updateGrid(feld);