README
murygin / chess Goto Github PK
View Code? Open in Web Editor NEWAn online chessboard made with Spring, JSF 2 and Primefaces.
An online chessboard made with Spring, JSF 2 and Primefaces.
README
dm vs. Flux, game-id: 40, cloudbees DB
2013-11-21 08:09:33,465 DEBUG http-8677-10 - Next move: h5h8
2013-11-21 08:09:33,466 DEBUG http-8677-10 - Calculated next move: h5h8
2013-11-21 08:09:33,466 DEBUG http-8677-10 - Processing new move: Qh5xh8, FEN: r1bqk2r/2pp4/p1p3p1/5p1Q/4n3/2P5/PPP2PPP/R1B1R1K1 w kq - 0 23, game-id: 40
2013-11-21 08:09:33,821 ERROR http-8677-10 - Moving failed:
java.lang.IllegalStateException
at de.schildbach.game.chess.ChessRules.castle(ChessRules.java:581)
at de.schildbach.game.chess.ChessRules.potentialMovesForSource(ChessRules.java:503)
at de.schildbach.game.common.ChessLikeRules.allowedMoves(ChessLikeRules.java:133)
at org.n2.chess.beans.RuleService.parsePosition(RuleService.java:56)
at org.n2.chess.beans.BoardBean.move(BoardBean.java:154)
at org.n2.chess.beans.GameBean.doMove(GameBean.java:272)
at org.n2.chess.beans.GameBean.calculateMove(GameBean.java:250)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35)
at net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:49)
at net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:647)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Show a notification when login failed.
Check if game is checkmate after a move. If so finish game and set state.
Add a documentation which is shown to users which are not logged in.
Currently email addresses with a '-' in domain name are not accepted.
Add the capability to switch through the game history. Clicking on a move in the move list shows the position after the move.
Integrate flux engine to play with "computer".
Add capability to finish games by resign or draw.
dm vs. Flux, game-id: 40, cloudbees DB
2013-11-21 08:09:33,465 DEBUG http-8677-10 - Next move: h5h8
2013-11-21 08:09:33,466 DEBUG http-8677-10 - Calculated next move: h5h8
2013-11-21 08:09:33,466 DEBUG http-8677-10 - Processing new move: Qh5xh8, FEN: r1bqk2r/2pp4/p1p3p1/5p1Q/4n3/2P5/PPP2PPP/R1B1R1K1 w kq - 0 23, game-id: 40
2013-11-21 08:09:33,821 ERROR http-8677-10 - Moving failed:
java.lang.IllegalStateException
at de.schildbach.game.chess.ChessRules.castle(ChessRules.java:581)
at de.schildbach.game.chess.ChessRules.potentialMovesForSource(ChessRules.java:503)
at de.schildbach.game.common.ChessLikeRules.allowedMoves(ChessLikeRules.java:133)
at org.n2.chess.beans.RuleService.parsePosition(RuleService.java:56)
at org.n2.chess.beans.BoardBean.move(BoardBean.java:154)
at org.n2.chess.beans.GameBean.doMove(GameBean.java:272)
at org.n2.chess.beans.GameBean.calculateMove(GameBean.java:250)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35)
at net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:49)
at net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:647)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
When a user tries to create a game and enters an email address which does not exists show a notification.
Use rule engine from Andreas Schildbach: http://code.google.com/p/de-schildbach-game/ to validate moves.
Send a reminder when a game is finished. Don't send a reminder to player who finished the game himself.
Load login page automaticly after a session timeout.
Highlight last move on board with light green.
If the king is moving two squares towards a rook perform a castling.
Before performing the castling check if everything is valid:
king has never moved
rook involved has never moved
the squares between the king and the rook involved are not occupied
the king is not in check
the king does not cross over or end on a square in which it would be in check
See http://en.wikipedia.org/wiki/Castling for more details.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.