save / load partially fixed, still an error with cells and selectedcell
This commit is contained in:
parent
3669b81822
commit
fd9f2cce62
|
|
@ -173,10 +173,50 @@ public class Board {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[] toFileRep() {
|
public String[] toFileRep() {
|
||||||
return null;
|
ArrayList<String> lines = new ArrayList<>();
|
||||||
|
for (int y = 0; y < 8; y++) {
|
||||||
|
for (int x = 0; x < 8; x++) {
|
||||||
|
Piece piece = cells[x][y];
|
||||||
|
if (piece != null) {
|
||||||
|
String line = piece.getType() + " " + piece.isWhite() + " " + x + " " + y;
|
||||||
|
lines.add(line);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return lines.toArray(new String[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//loading feature
|
||||||
public Board(String[] array) {
|
public Board(String[] array) {
|
||||||
|
this.cNum = 8;
|
||||||
|
this.lNum = 8;
|
||||||
|
this.cells = new Piece[cNum][lNum];
|
||||||
|
this.selectedCell = null;
|
||||||
|
|
||||||
|
//clean board
|
||||||
|
for (int y = 0; y < 8; y++) {
|
||||||
|
for (int x = 0; x < 8; x++) {
|
||||||
|
cells[x][y] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//load pieces
|
||||||
|
for (String line : array) {
|
||||||
|
String[] tokens = line.trim().split("\\s+");
|
||||||
|
if (tokens.length != 4) continue;
|
||||||
|
|
||||||
|
try {
|
||||||
|
PieceType type = PieceType.valueOf(tokens[0]);
|
||||||
|
boolean isWhite = Boolean.parseBoolean(tokens[1]);
|
||||||
|
int x = Integer.parseInt(tokens[2]);
|
||||||
|
int y = Integer.parseInt(tokens[3]);
|
||||||
|
|
||||||
|
setPiece(isWhite, type, x, y);
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Error parsing line: " + line);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isHighlighted(int destX, int destY) {
|
public boolean isHighlighted(int destX, int destY) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue