Fehlende Features hinzufügen

This commit is contained in:
akarkout
2021-01-10 18:35:29 +01:00
parent 31de5375a4
commit 6513d39cd3
3 changed files with 87 additions and 43 deletions

View File

@@ -14,12 +14,12 @@ package de.jaujau.daten;
public class Spielerdaten {
int punktestand; // Punktestand des Spielers
String name /* = Spieler.getSpieler() */; // Name des Spielers
public void punktestandErhoehen(int punkt) { // Methode zum Erhoehen des Punktestandes
punktestand += punkt;
private int punktestand; // Punktestand des Spielers
private String name /* = Spieler.getSpieler() */; // Name des Spielers
public Spielerdaten (String name, int punkte) { //Arraylist
this.name = name;
this.punktestand = punkte;
}
/**
@@ -28,10 +28,13 @@ public class Spielerdaten {
* @return the value of punktestand
*/
public int getPunktestand() {
public int getPunktestand() { //Zur<75>ckgeben der gesammelten Punkte
return punktestand;
}
public void setPunktestand(int punkte) { //Einsetzen des Punktestands (kann gel<65>scht werden, wenn niemand sie braucht)
punktestand = punkte;
}
/**
* Get the value of name
*
@@ -40,4 +43,9 @@ public class Spielerdaten {
public String getName() {
return name;
}
public void setName(String Name) { //Einsetzen des Namen des Spielers
name = Name;
}
}

View File

@@ -8,22 +8,31 @@
package de.jaujau.daten;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class Spielerverwaltung {
private int index = 15;
private int level;
private Spielerdaten spieler;
private ArrayList <Spielerdaten> daten = new ArrayList<Spielerdaten>();
private String name = "Mark Zuckerberg"; // Testeintrag
public void addSpieler(String name, int punkte) { //Neue Spieler hinzuf<75>gen
//leseDaten();
addZeilen();
daten.add(new Spielerdaten(name, punkte));
}
/**
* Set the value of level
*
* @param newlevel the new value of level
*/
public void setLevel(int newlevel) {
level = newlevel;
}
@@ -33,18 +42,18 @@ public class Spielerverwaltung {
*
* @return the value of level
*/
public int getLevel() {
return level;
}
/**
* Get the value of name
*
* @return the value of name
*/
public String getName() {
return name;
public String [][] toArray (ArrayList <Spielerdaten> a){ //Arraylist in Array umwandeln
String [][]neuerArray = new String [15][2];
for (int j = 0 ; j< a.size(); j++) {
neuerArray[j][0] = a.get(j).getName();
neuerArray[j][1] = Integer.toString(a.get(j).getPunktestand());
}
return neuerArray;
}
/**
@@ -52,33 +61,68 @@ public class Spielerverwaltung {
*
* @param newSpieler the new value of spieler
*/
public void setSpieler(Spielerdaten newSpieler) {
spieler = newSpieler;
}
/**
public void setSpieler(Spielerdaten a) {
spieler = a;
}
public void addZeilen() { //die Zeilen der Textdatei erweitern
index ++;
}
/**
* Get the value of spieler arraylist von Spieler
*
* @return the value of spieler
*/
public Spielerdaten getSpieler() {
return spieler;
}
//
// Other methods
//
public ArrayList<Spielerdaten> getDaten() { // Zur<75>ckgeben der gelesenen Daten aus der Textdatei
return daten;
}
public void umsetzeDaten( String [][] neueDaten) { //Arraylist aus Array
for (int i = 0 ; i < neueDaten.length; i++) {
daten.add(new Spielerdaten (neueDaten[i][0], Integer.parseInt(neueDaten[i][1])));
}
}
/**
*/
public void leseDaten() {
throw new UnsupportedOperationException();
public void leseDaten() { //lese Daten aus der Textdatei und speichere die in die Arraylist
umsetzeDaten(gethighscoreTabelle());
/* for (Spielerdaten a : daten) { // M<>ll
System.out.println(a.getName() + " " +a.getPunktestand());
}*/
}
/**
*/
public void speichernDaten() {
throw new UnsupportedOperationException();
public void speichernDaten() { //Speichere die bearbeiteten Daten in die Textdatei (Aus der Arraylist)
//leseDaten();
ArrayList <Spielerdaten> newDaten = getDaten();
String [][] umwandelteDaten = new String [index][2];
int i = 0;
if (! newDaten.isEmpty()) {
for (Spielerdaten inhalt : newDaten ) {
umwandelteDaten [i][0] = inhalt.getName();
umwandelteDaten [i][1] = Integer.toString(inhalt.getPunktestand());
i++;
}
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("highscore.txt")); //Erzeugen eines effizienten Writers f<>r Textdateien
for (int j = 0; j < umwandelteDaten.length; j++) {
writer.write(umwandelteDaten [j][0] +" "+umwandelteDaten [j][1]);
writer.newLine();
}
writer.close();
}
catch(IOException ioe) {
System.err.println(ioe);
}
}
else
System.err.println("Es gibt keine Dateien zum Speichern!");
}
// Die Highscore-datei wird geoeffnet und die Daten als zweidimensionales Array
@@ -97,7 +141,6 @@ public class Spielerverwaltung {
while (line != null) {
lineArray = line.toCharArray();
for (int i = 0; i < lineArray.length; i++) {
if (lineArray[i] != ' ' && score.length() == 0) {
name += lineArray[i];
} else if (lineArray[i] == ' ' && name.length() != 0) {
@@ -107,26 +150,21 @@ public class Spielerverwaltung {
} else if (score.length() != 0) {
score += lineArray[i];
insArray = true;
}
}
if (insArray) {
rowData[zeilennummer][0] = name;
rowData[zeilennummer][1] = score;
insArray = false;
}
zeilennummer++;
name = score = "";
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return rowData;
}
}

View File

@@ -19,7 +19,6 @@ public class Anwendung {
private Spielerverwaltung speicherung;
private GUI view;
//
// Constructors
//
@@ -28,7 +27,6 @@ public class Anwendung {
texturenpakete = new Texturenpakete();
view = new GUI(texturenpakete, speicherung);
};
/**
*/