chess/src/main/java/org/apidesign/html/demo/chess/BoardModel.java
branchchess
changeset 53 bc0094a5f88c
parent 52 6bb4070d2c20
child 244 cea2063fd0f9
     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 "";