# HG changeset patch # User Jaroslav Tulach # Date 1253357510 -7200 # Node ID fed05535725f8f5ce450998f879f60ca57c248dc # Parent 37ac8eb59b1b24d79877af20a803ef82d7b42e83 Describing how many fences are left in the page header diff -r 37ac8eb59b1b -r fed05535725f freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java --- a/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Sat Sep 19 08:54:30 2009 +0200 +++ b/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Sat Sep 19 12:51:50 2009 +0200 @@ -34,6 +34,8 @@ import com.sun.jersey.api.core.ResourceConfig; import com.sun.jersey.api.view.Viewable; import com.sun.net.httpserver.HttpServer; +import cz.xelfi.quoridor.Board; +import cz.xelfi.quoridor.IllegalPositionException; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -58,6 +60,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.NewCookie; import javax.ws.rs.core.Response; +import org.openide.util.Exceptions; import org.w3c.dom.Document; /** @@ -151,7 +154,14 @@ return v; } Document doc = base.path("games").path(id).accept(MediaType.TEXT_XML).get(Document.class); - return viewable("game.fmt", doc, "message", msg, "format", format); + Board b; + try { + b = Board.valueOf(doc.getElementsByTagName("board").item(0).getTextContent()); + } catch (IllegalPositionException ex) { + Exceptions.printStackTrace(ex); + b = Board.empty(); + } + return viewable("game.fmt", doc, "message", msg, "format", format, "board", b); } @GET diff -r 37ac8eb59b1b -r fed05535725f freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/Bundle.properties --- a/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/Bundle.properties Sat Sep 19 08:54:30 2009 +0200 +++ b/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/Bundle.properties Sat Sep 19 12:51:50 2009 +0200 @@ -32,10 +32,15 @@ MOVE=Move! TO_MOVE=to move HAS_WON=won +FENCES_LEFT=({0,choice,\ + 0#no fences|\ + 1#last fence|\ + 2#two fences|\ + 3#{0} fences\ +} left) RESIGN=Resign! H=Horizontal V=Vertical -RELOAD=Reload GAME=Game MOVENUMBER=# MOVES=Moves diff -r 37ac8eb59b1b -r fed05535725f freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/Bundle_cs.properties --- a/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/Bundle_cs.properties Sat Sep 19 08:54:30 2009 +0200 +++ b/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/Bundle_cs.properties Sat Sep 19 12:51:50 2009 +0200 @@ -41,7 +41,6 @@ RESIGN=Vzd\u00E1t H=Horizont\u00E1ln\u011B V=Vertik\u00E1ln\u011B -RELOAD=Obnovit GAME=Hra MOVENUMBER=Tah MOVES=Z\u00E1pis @@ -49,6 +48,15 @@ MOVE=T\u00E1hnout TO_MOVE=na tahu HAS_WON=vyhr\u00E1no +FENCES_LEFT=({0,choice,\ + 0#nezb\u00FDv\u00E1 \u017E\u00E1dn\u00FD pl\u016Ftek|\ + 1#zb\u00FDv\u00E1 posledn\u00ED pl\u016Ftek|\ + 2#zb\u00FDvaj\u00ED dva pl\u016Ftky|\ + 3#zb\u00FDvaj\u00ED t\u0159i pl\u016Ftky|\ + 4#zb\u00FDvaj\u00ED \u010Dty\u0159i pl\u016Ftky|\ + 5#zb\u00FDv\u00E1 {0} pl\u016Ftk\u016F\ +}) + TITLE=Komunitn\u00ED server Quoridor NAME=Jm\u00E9no PASSWORD=Heslo diff -r 37ac8eb59b1b -r fed05535725f freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/game.fmt --- a/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/game.fmt Sat Sep 19 08:54:30 2009 +0200 +++ b/freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/game.fmt Sat Sep 19 12:51:50 2009 +0200 @@ -14,7 +14,7 @@ -

${bundle.GAME}

+

${bundle.GAME}

<#macro status who> ${who?string} @@ -29,12 +29,11 @@

- ${bundle.WHITE}: <@status doc.game.id.@white/>
- ${bundle.BLACK}: <@status doc.game.id.@black/>
+ ${bundle.WHITE}: <@status doc.game.id.@white/> ${bundle("FENCES_LEFT", board.players[0].fences)}
+ ${bundle.BLACK}: <@status doc.game.id.@black/> ${bundle("FENCES_LEFT", board.players[1].fences)}

- ${bundle.RELOAD} ${bundle.ROOT}