Exemplo n.º 1
0
  @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);
  }