# HG changeset patch # User Jaroslav Tulach # Date 1252080061 -7200 # Node ID 830e0ba29c041b8bee0e93112b0c7853432b3439 # Parent f041b6570ff9c1bb8143b731192e4c2b1c46a2d0 Only current player can make a move diff -r f041b6570ff9 -r 830e0ba29c04 freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java --- a/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Mon Aug 31 22:44:47 2009 +0200 +++ b/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Fri Sep 04 18:01:01 2009 +0200 @@ -38,6 +38,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.net.URI; +import java.util.HashMap; +import java.util.Map; import java.util.Properties; import java.util.concurrent.Callable; import javax.ws.rs.DefaultValue; @@ -117,8 +119,11 @@ if (v != null) { return v; } + Map map = new HashMap(); Document doc = base.path("games").path(id).accept(MediaType.TEXT_XML).get(Document.class); - return new Viewable("game.fmt", doc); + map.put("doc", doc); + map.put("user", user); + return new Viewable("game.fmt", map); } @GET diff -r f041b6570ff9 -r 830e0ba29c04 freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/game.fmt --- a/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/game.fmt Mon Aug 31 22:44:47 2009 +0200 +++ b/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/game.fmt Fri Sep 04 18:01:01 2009 +0200 @@ -7,51 +7,53 @@

Game

${doc.game.id.@white} vs. ${doc.game.id.@black}

-
- - - - - -
-
- - - - -
+ <#if user = doc.game.@currentPlayer > +
+ + + + + +
+
+ + + + +
+
${doc.game.board}
\ No newline at end of file diff -r f041b6570ff9 -r 830e0ba29c04 webidor/nb-configuration.xml --- a/webidor/nb-configuration.xml Mon Aug 31 22:44:47 2009 +0200 +++ b/webidor/nb-configuration.xml Fri Sep 04 18:01:01 2009 +0200 @@ -18,4 +18,13 @@ + + + none + diff -r f041b6570ff9 -r 830e0ba29c04 webidor/src/main/java/cz/xelfi/quoridor/webidor/Game.java --- a/webidor/src/main/java/cz/xelfi/quoridor/webidor/Game.java Mon Aug 31 22:44:47 2009 +0200 +++ b/webidor/src/main/java/cz/xelfi/quoridor/webidor/Game.java Fri Sep 04 18:01:01 2009 +0200 @@ -77,6 +77,15 @@ return board; } + @XmlAttribute + final String getCurrentPlayer() { + if (board.getCurrentPlayer() == board.getPlayers().get(0)) { + return id.getWhite(); + } else { + return id.getBlack(); + } + } + public void apply(String player, Move m) throws IllegalPositionException { Player p = null; if (id.getWhite().equals(player)) {