package gui;
import game.Exporter;
import game.GameCoordinator;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Klasse, die das aktuelle Spiel bei Bedarf in eine .txt-Datei abspeichert.
*
* @author Tabea
*
*/
public class StAXWriter
{
/**
* Methode, die das aktuelle Spiel bzw. dessen PGN-Format in eine .txt-Datei
* abspeichert. Um die einzelnen Dateien zu unterscheiden wird ein
* Zeitstempel mit in den Dateinamen gebaut.
*
* @return true, wenn die Datei abgespeichert wurde, ansonsten false
*/
public boolean makeFile() {
// Datum in richtiges Format bringen
SimpleDateFormat sdf = new SimpleDateFormat();
SimpleDateFormat sdf_wTime = new SimpleDateFormat();
sdf.applyPattern("dd.MM.yyyy");
sdf_wTime.applyPattern("dd-MMM-yyyy_HH-mm-ss");
// Abfrage, wer gewonnen hat, um entsprechendes auszugeben
String result;
if (Checkerboard.getInstance().hasBlackWon()) {
result = "0-1";
} else {
result = "1-0";
}
try {
// Inhalt der .txt-Datei
String text = Exporter.exportMovesToPGN("Teamprojekt", "Legolabor",
sdf.format(new Date()), StartWindow.getInstance().getUsername(),
"Legoroboter", result, GameCoordinator.getInstance(false).getAllMoves());
// Name der Datei
File file = new File("saveGame/chess" + sdf_wTime.format(new Date()) + ".txt");
FileWriter fw = new FileWriter(file);
fw.write(text);
fw.flush();
fw.close();
return true;
} catch (IOException e) {
}
return false;
}
}