@Override public void speichern(String filename, Object o) { PrintStream ps = new PrintStream(baos); PrintStream old = System.out; System.setOut(ps); this.s = (SpielBean) o; try { br = new BufferedWriter(new FileWriter(filename + ".csv")); } catch (IOException e2) { e2.printStackTrace(); } try { Spieler sp1 = s.getSpieler1(); Spieler sp2 = s.getSpieler2(); // Spieler 1 wird gespeichert if ((sp1.getKi() == null)) { if (sp1.getFarbe().equals(FarbEnum.WEISS)) { br.write("Spieler: " + sp1.getName() + ";" + "Weiss" + ";" + "Mensch"); br.newLine(); } } else if (sp1.getKi() instanceof KI_Dame) { if (sp1.getFarbe().equals(FarbEnum.WEISS)) { br.write("Spieler: " + sp1.getName() + ";" + "Weiss" + ";" + "KI"); br.newLine(); } } // Spieler 2 wird gespeichert if ((sp2.getKi() == null)) { if (sp2.getFarbe().equals(FarbEnum.SCHWARZ)) { br.write("Spieler: " + sp2.getName() + ";" + "Schwarz" + ";" + "Mensch"); br.newLine(); } } else if (sp2.getKi() instanceof KI_Dame) { if (sp2.getFarbe().equals(FarbEnum.SCHWARZ)) { br.write("Spieler: " + sp2.getName() + ";" + "Schwarz" + ";" + "KI"); br.newLine(); } } br.write( "SpielerAmZug: " + s.getSpielerAmZug().getName() + ";" + s.getSpielerAmZug().getFarbe() + ";" + "null"); br.newLine(); // Felder werden gespeichert for (int i = 0; i < s.getSpielbrett().getFelder().length; i++) { for (int j = 0; j < s.getSpielbrett().getFelder()[i].length; j++) { if (s.getSpielbrett().getFelder()[i][j].getFigur() == null) { br.write( s.getSpielbrett().getFelder()[i][j].getId() + ";" + s.getSpielbrett().getFelder()[i][j].getFarbeFeld() + ";" + "null" + ";" + "null" + ";" + "false"); br.newLine(); } else if (s.getSpielbrett().getFelder()[i][j].getFigur() != null) { br.write( s.getSpielbrett().getFelder()[i][j].getId() + ";" + s.getSpielbrett().getFelder()[i][j].getFarbeFeld() + ";" + s.getSpielbrett().getFelder()[i][j].getFigur().getId() + ";" + s.getSpielbrett().getFelder()[i][j].getFigur().getFarbe() + ";" + s.getSpielbrett().getFelder()[i][j].getFigur().isIstDame()); br.newLine(); } } } System.out.println("SPIEL CSV WURDE ERFOLGREICH GESPEICHERT !!!"); } catch (IOException e1) { e1.printStackTrace(); } finally { try { br.close(); } catch (IOException e1) { e1.printStackTrace(); } } System.out.flush(); System.setOut(old); }
@Override public Object laden(String filename) { try { rd = new BufferedReader(new FileReader(filename)); String line = null; int k = 1; int l = 1; while ((line = rd.readLine()) != null) { if (line.startsWith("Spieler")) { String[] F = line.split(";"); String name = F[0]; String farbe = F[1]; String KI = F[2]; if (KI.equals("Mensch")) { this.s.addSpieler( name.substring(9), this.bestimmeFarbeSpieler(farbe), s.bestimmeKI(KI)); } else if (KI.equals("KI")) { this.s.addSpieler( name.substring(9), this.bestimmeFarbeSpieler(farbe), s.bestimmeKI(KI)); } else { if (this.s.getSpieler1().getFarbe().equals(this.bestimmeFarbeFigur(farbe))) { this.s.setSpielerAmZug(this.s.getSpieler1()); } if (this.s.getSpieler2().getFarbe().equals(this.bestimmeFarbeFigur(farbe))) { this.s.setSpielerAmZug(this.s.getSpieler2()); } } } // ------------Weg------------ else { String[] F = line.split(";"); String feldId = F[0]; String feldFarbe = F[1]; String figurId = F[2]; String figurFarbe = F[3]; String istDame = F[4]; if ((!figurId.equals("null"))) { for (int i = 0; i < s.getSpielbrett().getFelder().length; i++) { for (int j = 0; j < s.getSpielbrett().getFelder()[i].length; j++) { if (s.getSpielbrett().getFelder()[i][j].getId().equals(feldId) && (!figurId.equals("null"))) { Spielfigur x = new Spielfigur( s.getSpielbrett().getFelder()[i][j], this.bestimmeFarbeFigur(figurFarbe), this.istDameCSV(istDame)); s.getSpielbrett().getFelder()[i][j].setFigur(x); if (s.getSpieler1().getFarbe().equals(this.bestimmeFarbeFigur(figurFarbe))) { if (k <= 31) { x.setId(figurId); s.getFigurWeiss()[k] = x; s.getSpieler1().getFigurArray()[k] = x; } s.getSpieler1() .getFigurArray()[k] .setSpielfeld(s.getSpielbrett().getFelder()[i][j]); s.getSpielbrett() .getFelder()[i][j] .setFigur(s.getSpieler1().getFigurArray()[k]); k++; } if (s.getSpieler2().getFarbe().equals(this.bestimmeFarbeFigur(figurFarbe))) { if (l <= 31) { x.setId(figurId); s.getFigurSchwarz()[l] = x; s.getSpieler2().getFigurArray()[l] = x; } s.getSpieler2() .getFigurArray()[l] .setSpielfeld(s.getSpielbrett().getFelder()[i][j]); s.getSpielbrett() .getFelder()[i][j] .setFigur(s.getSpieler2().getFigurArray()[l]); l++; } } } } } } } s.putArray(); } catch (IOException e) { try { throw new IOException("not found "); } catch (IOException e1) { e1.printStackTrace(); } } return s; }