Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Hiraoka committed Aug 26, 2021
2 parents d6ea778 + a67fef0 commit 9b794d3
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions src/main/java/featurecat/lizzie/rules/Board.java
Original file line number Diff line number Diff line change
Expand Up @@ -832,15 +832,10 @@ public void restoreMoveNumber() {

/** Restore move number by node */
public void restoreMoveNumber(BoardHistoryNode node) {
Stone[] stones = history.getStones();
for (int i = 0; i < stones.length; i++) {
Stone stone = stones[i];
if (stone.isBlack() || stone.isWhite()) {
int y = i % Board.boardWidth;
int x = (i - y) / Board.boardHeight;
Lizzie.leelaz.playMove(stone, convertCoordinatesToName(x, y));
}
}
Lizzie.leelaz.clear();
boolean blackToPlay = node.getData().blackToPlay;
restoreInitialStones(blackToPlay);
restoreInitialStones(!blackToPlay);
int moveNumber = node.getData().moveNumber;
if (moveNumber > 0) {
if (node.isMainTrunk()) {
Expand All @@ -852,6 +847,18 @@ public void restoreMoveNumber(BoardHistoryNode node) {
}
}

private void restoreInitialStones(boolean isBlack) {
Stone[] stones = history.getStones();
for (int i = 0; i < stones.length; i++) {
Stone stone = stones[i];
if (isBlack ? stone.isBlack() : stone.isWhite()) {
int y = i % Board.boardWidth;
int x = (i - y) / Board.boardHeight;
Lizzie.leelaz.playMove(stone, convertCoordinatesToName(x, y));
}
}
}

/** Go to move number by back routing from children when in branch */
public void goToMoveNumberByBackChildren(int moveNumber) {
int delta = moveNumber - history.getMoveNumber();
Expand Down

0 comments on commit 9b794d3

Please sign in to comment.