commit 692cecbca7a0c144d95d171addfd226de1de7f9f Author: Frank Schiebel Date: Sat Dec 6 15:10:11 2025 +0100 First commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b4416b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.class +*.ctxt diff --git a/Dateileser.java b/Dateileser.java new file mode 100644 index 0000000..c15255a --- /dev/null +++ b/Dateileser.java @@ -0,0 +1,59 @@ +import java.util.ArrayList; +import java.util.Scanner; +import java.io.File; +import java.io.IOException; + +/** + * Liest eine Textdatei mit Spiekarten eines Tierquartetts ein + * + * @author Frank schiebel + * @version 0.1 + */ +public class Dateileser +{ + + public Dateileser() + { + + } + + public ArrayList getKartenListe(String eingabeDatei) { + ArrayList karten; + try { + Scanner s = new Scanner(new File(eingabeDatei)); + ArrayList zeilen = new ArrayList<>(); + + while (s.hasNext()){ + zeilen.add(s.nextLine()); + } + s.close(); + + karten = new ArrayList<>(); + for(String z: zeilen) { + String[] felder = z.split(","); + + if(felder[0].charAt(0) != '#' ) { + System.out.println(felder.length); + Karte k = new Karte( + felder[0].trim(), + Integer.parseInt(felder[1].trim()), + Integer.parseInt(felder[2].trim()), + Integer.parseInt(felder[3].trim()), + Integer.parseInt(felder[4].trim()), + Double.parseDouble(felder[5].trim()), + Integer.parseInt(felder[6].trim()) + ); + + karten.add(k); + } + + } + } catch(IOException e) { + System.out.println(eingabeDatei + " kann nicht geöffnet werden."); + karten = new ArrayList<>(); + } + + return karten; + + } +} \ No newline at end of file diff --git a/Karte.java b/Karte.java new file mode 100644 index 0000000..269e2e2 --- /dev/null +++ b/Karte.java @@ -0,0 +1,110 @@ + +/** + * Spielkarte eines Tierquartetts + * + * @author Frank Schiebel + * @version 0.1 + */ +public class Karte +{ + private String tierart; + private int verbreitung, + geschwindigkeit, + alter, + gewicht; + private double nachkommen; + private int spieler; + + /** + * Konstruktor für Objekte der Klasse Karte + */ + public Karte( + String tierart, + int verbreitung, + int geschwindigkeit, + int alter, + int gewicht, + double nachkommen, + int spieler + ) { + this.tierart = tierart; + this.verbreitung = verbreitung; + this.geschwindigkeit = geschwindigkeit; + this.alter = alter; + this.gewicht = gewicht; + this.nachkommen = nachkommen; + this.spieler = spieler; + } + + /** + * Liefere die Tierart der Quartettkarte + * @return Name der Tierart + */ + public String getTierart() { + return this.tierart; + } + + /** + * Liefere die Anzahl der Kontinente/Ozeane, auf denen + * das Tier zu finden ist. + * @return Verbreitung: Anzahl der Kontinente/Ozeane + */ + public int getVerbreitung() { + return this.verbreitung; + } + + /** + * Liefere die Höchstgeschwindigkeit des Tiers + * @return Höchstgeschwindigkeit des Tiers in km/h + */ + public int getGeschwindigkeit() { + return this.geschwindigkeit; + } + + /** + * Liefere das Höchstalter des Tiers + * @return Höchstalter des Tiers in Jahren + */ + public int getAlter() { + return this.alter; + } + + /** + * Liefere das Gewicht des Tiers + * @return Gewicht des Tiers in kg + */ + public int getGewicht() { + return this.gewicht; + } + + /** + * Liefere die Zahl der jährlichen Nachkommen des Tiers + * @return Jähriche Nachkommen des Tiers + */ + public double getNachkommen() { + return this.nachkommen; + } + + /** + * Liefere die Nummer des Spielers, der die Karte hält + * @return Spielernumnmer des Kartenbesitzers + */ + public double getSpieler() { + return this.spieler; + } + + /** + * Liefere die Zahl der jährlichen Nachkommen des Tiers + * @return Jähriche Nachkommen des Tiers + */ + public String getKartenDetails() { + return tierart + + ", Verbreitung=" + verbreitung + + ", Geschwindigkeit=" + geschwindigkeit + + ", Höchstalter=" + alter + + ", Gewicht=" + gewicht + + ", Nachkommen=" + nachkommen + + ", Spielernummer=" + spieler; + } + +} \ No newline at end of file diff --git a/README.TXT b/README.TXT new file mode 100644 index 0000000..3cd40db --- /dev/null +++ b/README.TXT @@ -0,0 +1,4 @@ +PROJEKTBEZEICHNUNG: tierquartett +PROJEKTZWECK: Einführung von funktionaler Verarbeitung von Sammlungen +VERSION oder DATUM: 0.1 +AUTOR(EN): Frank Schiebel diff --git a/Tierqartett.java b/Tierqartett.java new file mode 100644 index 0000000..1bb1b0d --- /dev/null +++ b/Tierqartett.java @@ -0,0 +1,50 @@ +import java.util.ArrayList; + +/** + * Tierquartett + * + * @author Frank Schiebel + * @version 0.1 + */ +public class Tierqartett +{ + + ArrayList quartett; + + public Tierqartett() + { + // Initialisiere das Quartett aus der spielkarten.txt Datei + Dateileser leser = new Dateileser(); + quartett = leser.getKartenListe("spielkarten.txt"); + } + + + + /** + * Gib die Details aller Karten aus. + */ + public void listeAusgeben() + { + // FIXME + } + + + /** + * Gib die Details aller Karten des Spielers mit den Nummer snum aus + * @param snum die Spielernummer + */ + public void listeSpielerkarten(int snum) + { + // FIXME + } + + /** + * Gib eine Liste der Tierarten aus, älter als ein bestimmtes "Schwellallter" werden + * @param alterssschwelle Alle Tiere die älter als dieses Alter werden, werden ausgegeben + */ + public void tiereAelterAls(int alterssschwelle) + { + //FIXME + } + +} \ No newline at end of file diff --git a/package.bluej b/package.bluej new file mode 100644 index 0000000..50eda96 --- /dev/null +++ b/package.bluej @@ -0,0 +1,3 @@ +#BlueJ package file +#Sat Dec 06 13:36:43 CET 2025 +project.charset=UTF-8 diff --git a/spielkarten.txt b/spielkarten.txt new file mode 100644 index 0000000..49fb806 --- /dev/null +++ b/spielkarten.txt @@ -0,0 +1,28 @@ +# Name, Verbreitung(Kontinente/Ozeane), Höchstalter, Gewicht (kg), Nachkommen (pro Jahr), Spieler-Nummer +Großer Barracuda,3,50,30,40,50000,0 +Flusspferd, 1,30,40,3200,1,0 +Gorilla,1,35,40,275,2,3 +Jaguar,2,80,12,150,4,2 +Klapperschlange,2,20,20,9,25,2 +Kojote,1,60,15,15,10,1 +Leopard,2,60,15,80,4,2 +Löwe,2,75,15,250,4,3 +Mississippi-Alligator,1,30,75,500,50,0 +Nashorn,2,50,40,1600,1,1 +Netzpython,1,20,20,150,50,2 +Nilkrokodil,1,35,50,750,50,3 +Puma,2,65,25,100,4,1 +Schabrackenschakal,1,60,8,15,6,0 +Schwarzbär,1,45,30,150,4,3 +Schwertwal,5,55,12,9000,0.25,2 +Seewespe,2,9,1,6,100000,2 +Sibirischer Tiger,1,60,20,300,4,0 +Taipan,1,10,15,22,20,3 +Weißer Hai,3,60,45,3500,10,3 +Wolf,3,55,18,80,7,2 +Afrikanischer Elefant,1,40,70,7000,0.5,1 +Anakonda,1,22,20,200,80,1 +Braunbär,3,55,20,780,3,0 +Eisbär,2,40,20,700,4,3 +Eurasischer Luchs,2,70,18,40,4,2 +Fleckhyäne,1,60,20,65,2,1