From 4394a89a9cc94af03fe04ca41fedc6a4ee3f31c2 Mon Sep 17 00:00:00 2001 From: dustineversmann Date: Thu, 2 Jan 2025 18:03:21 +0100 Subject: [PATCH] feature: Trennung des Einlesens der Dateien von der Erstellung des Spielfelds --- .../java/de/deversmann/domain/CSVReader.java | 39 +++++++++++++++++++ src/main/java/de/deversmann/gui/GameView.java | 4 ++ .../java/de/deversmann/gui/HitoriApp.java | 4 ++ 3 files changed, 47 insertions(+) create mode 100644 src/main/java/de/deversmann/domain/CSVReader.java create mode 100644 src/main/java/de/deversmann/gui/GameView.java create mode 100644 src/main/java/de/deversmann/gui/HitoriApp.java diff --git a/src/main/java/de/deversmann/domain/CSVReader.java b/src/main/java/de/deversmann/domain/CSVReader.java new file mode 100644 index 0000000..42b8c90 --- /dev/null +++ b/src/main/java/de/deversmann/domain/CSVReader.java @@ -0,0 +1,39 @@ +package de.deversmann.domain; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; + +public class CSVReader { + + /** + * Liest die CSV-Datei ein und gibt die enthaltenen Werte als zweidimensionales int-Array zurück. + * + * @param csvFile Pfad zur CSV-Datei + * @return zweidimensionales Array, das die Zahlen aus der CSV enthält + * @throws IOException wenn ein Fehler beim Lesen auftritt + */ + public int[][] readCsvToIntArray(String csvFile) throws IOException { + ArrayList rows = new ArrayList<>(); + + try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) { + String line; + while ((line = br.readLine()) != null) { + String[] tokens = line.split(","); + int[] row = new int[tokens.length]; + for (int i = 0; i < tokens.length; i++) { + row[i] = Integer.parseInt(tokens[i].trim()); + } + rows.add(row); + } + } + + // ArrayList in 2D-Array umwandeln + int[][] result = new int[rows.size()][]; + for (int i = 0; i < rows.size(); i++) { + result[i] = rows.get(i); + } + return result; + } +} \ No newline at end of file diff --git a/src/main/java/de/deversmann/gui/GameView.java b/src/main/java/de/deversmann/gui/GameView.java new file mode 100644 index 0000000..ea9fe0d --- /dev/null +++ b/src/main/java/de/deversmann/gui/GameView.java @@ -0,0 +1,4 @@ +package de.deversmann.gui; + +public class GameView { +} diff --git a/src/main/java/de/deversmann/gui/HitoriApp.java b/src/main/java/de/deversmann/gui/HitoriApp.java new file mode 100644 index 0000000..8a5c3e7 --- /dev/null +++ b/src/main/java/de/deversmann/gui/HitoriApp.java @@ -0,0 +1,4 @@ +package de.deversmann.gui; + +public class HitoriApp { +}