Chess00: Introduction
This series of articles is about implementing a chess game in Java using Swing. The first article displays the game board and pieces and allows the user to drag the pieces around. The second article...
View ArticleChess01: Dragging game pieces
We will start the series by implementing a little chess game. The idea is to display all the pieces and let the user drag these pieces around using his mouse. In future articles we will continue to...
View ArticleChess02: Introducing game state
In this article we will introduce the concept of a game state variable. Depending on the game state (either ‘white’ or ‘black’) the user will only be able to drag pieces corresponding to the current...
View ArticleChess03: Separating view and logic
In this article we will separate the internal game logic from the user interface logic. Along the way we will have a look at the advantages and disadvantages of this approach. The programming language...
View ArticleChess04: Implementing an alternative user interface
In this article we will create a console based user interface for our chess game by reusing the previously created game logic classes. The article has mainly been created to highlight one of the...
View ArticleChess05: Enforcing game rules
In this article we will take a closer look at enforcing game rules. Because we seperated the view logic from the game logic in one of the earlier articles, implementing rule enforcement is easier as...
View ArticleChess06: Highlighting valid target locations
In this article we will have a look at how we can use the previously implemented MoveValidator to highlight valid target locations when the user starts dragging game pieces. We will also add some...
View ArticleChess07: New game flow handling and AI preparation
In this article we will have a deeper look at the game flow logic and do some preparations for the next article, which will introduce a computer controlled player using artificial intelligence. The...
View ArticleChess08: Implementing an AI (artificial intelligence) player
Chess08: Implementing an AI (artificial intelligence) player Today we implement a computer player using some basic artificial intelligence concepts. We look at how to generate valid moves, how to...
View ArticleChess09: Playing over network
So far we were only able to play the game locally on a single computer. In this tutorial we add some networking features so that we can play against remote players. It might be easier than you think....
View ArticleChess09b: Playing over network (the server part)
After we have covered the client part of networking, let’s have a look at the server. It’s Python, it’s Google App Engine, it’s XML-RPC and it is very straight forward. This is an addition to the ninth...
View Article