1.1 --- a/chess/src/main/java/org/apidesign/html/demo/chess/BoardModel.java Tue Sep 24 23:52:32 2013 +0200
1.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/BoardModel.java Wed Sep 25 04:18:47 2013 +0200
1.3 @@ -64,18 +64,6 @@
1.4 }
1.5 }
1.6
1.7 - @ComputedProperty static boolean myTurn(String player, String whitePlayer, String blackPlayer, Color turn) {
1.8 - if (turn != null && player != null) switch (turn) {
1.9 - case B: return player.equals(blackPlayer);
1.10 - case W: return player.equals(whitePlayer);
1.11 - }
1.12 - return false;
1.13 - }
1.14 -
1.15 - @ComputedProperty static boolean justObserving(String player) {
1.16 - return player == null;
1.17 - }
1.18 -
1.19 private static final AudioClip MOVE = AudioClip.create("sounds/move.mp3");
1.20 @OnPropertyChange("moves") static void playMove() {
1.21 MOVE.play();
1.22 @@ -85,11 +73,6 @@
1.23 private static final AudioClip CHECKMATE = AudioClip.create("sounds/checkmate.mp3");
1.24
1.25 @Function static void selected(Board b, Square data) {
1.26 - if (!b.isMyTurn()) {
1.27 - b.setAlertMessage("Not your turn!");
1.28 - return;
1.29 - }
1.30 -
1.31 Square previoslySelected = findSelectedSquare(b);
1.32 if (previoslySelected == null) {
1.33 if (data.getPiece() != null && data.getPieceColor() == b.getTurn()) {
1.34 @@ -121,12 +104,11 @@
1.35 b.getMoves().add(newMove);
1.36 b.setPendingMove(newMove);
1.37
1.38 - data.setPending(true);
1.39 data.setPieceColor(previoslySelected.getPieceColor());
1.40 data.setPiece(previoslySelected.getPiece());
1.41 - b.setTurn(null);
1.42 previoslySelected.setPiece(null);
1.43 previoslySelected.setPieceColor(null);
1.44 + b.setTurn(b.getTurn() == Color.W ? Color.B : Color.W);
1.45 Rules.computeAccessible(b, null);
1.46 }
1.47 }
1.48 @@ -235,22 +217,6 @@
1.49 return null;
1.50 }
1.51
1.52 - static void moveResponse(
1.53 - final Board b, final String errMsg,
1.54 - final List<String> whites, final List<String> blacks,
1.55 - final Color turn, Object alert
1.56 - ) {
1.57 - if (errMsg != null) {
1.58 - b.getMoves().remove(b.getPendingMove());
1.59 - b.setPendingMove(null);
1.60 - b.setAlertMessage(errMsg);
1.61 - } else {
1.62 - b.setTurn(turn);
1.63 - b.setAlertMessage(null);
1.64 - }
1.65 - Rules.initBoard(b, whites, blacks, turn);
1.66 - }
1.67 -
1.68 static void moveUpdate(
1.69 final Board b, final Move move,
1.70 final List<String> whites, final List<String> blacks,
1.71 @@ -330,7 +296,6 @@
1.72 @Property(name = "pieceColor", type = Color.class),
1.73 @Property(name = "selected", type = boolean.class),
1.74 @Property(name = "accessible", type = boolean.class),
1.75 - @Property(name = "pending", type = boolean.class),
1.76 })
1.77 static class SquareModel {
1.78 @ComputedProperty static String pieceEntity(
1.79 @@ -343,7 +308,7 @@
1.80 }
1.81
1.82 @ComputedProperty static String squareColor(
1.83 - Color color, boolean selected, boolean accessible, boolean pending
1.84 + Color color, boolean selected, boolean accessible
1.85 ) {
1.86 if (selected) {
1.87 return "selected";
1.88 @@ -351,9 +316,6 @@
1.89 if (accessible) {
1.90 return "accessible";
1.91 }
1.92 - if (pending) {
1.93 - return "pending";
1.94 - }
1.95
1.96 if (color == null) {
1.97 return "";