Peter Diefenbach: Conquest
An easy round-based strategic board game. To win, destroy or circle the enemy, so he/she has no chance to move. Two players can play against each other, but you can also play against the computer (and choose between two strategies), or you can even just watch the computer playing against itself.
Part of the fun is that the game offers different topologies with different neighboring relations between the fields. And this influences the strategy you should apply.
How to start the program
No matter what option you choose: You need a Java Runtime Environment on your computer. The easiest way is to get it from www.java.com. There you can also check if you already have it installed.
Option 1: If your browser supports the execution of Java applets, then a new window should open, and you're ready to start.
If not, the following box will show some error message.
- Option 2: Download the program. Start it by double-clicking the downloaded file.
A word to the programmers among you
If you want, you can download the source code.
The source is meant as example on object-oriented design principles. It started as sample solution for programming exercises.
Feel free to use the files in your own projects, as long as you name me and all other contributors to the files you took in use.
If you apply changes to my files, please inform me of the result, maybe there are more interested in your improvements.
And here's the manual:
A round based strategy game.
Table of Content
Two players play against each other on a board. The board contains fields, which could be holes (black), free (gray), or occupied by one of the players (red or green).
The goal is to circle the opponent player in a way that he can't move. The players move in turns. A move can be:
- Starting from a field owned by the player, the neighboring field (distance 1) is taken by the player. The destination field has to be free. The player keeps the starting field.
- Starting from a field owned by the player, the player moves to a field in distance 2. The destination field has to be free. The player loses the starting field, it becomes free.
No matter if growing or jumping—all fields in the direct neighborhood of the destination field owned by the opponent are conquered and then belong to the current player.
A player has to do a move. If he cannot move, he has lost the game.
The current player is displayed below. The last half-move of the opponent is displayed by a cirle and a line. If the current player is human, the move can be entered the following way:
- The user clicks into a field that is owned by him. That's the starting field. The board marks all fields that can be reached from there by growing or jumping.
- The user clicks on one of the marked destination fields.
To clear the selection of the starting field, click somewhere else on the board.If a human player plays against a computer strategy, the computer player moves automatically. If two computer strategies play against each other, the user has to click somewhere onto the board for each move of each player. So you can watch the game at your own pace.
|Free (empty) field|
|Field owned by player red|
|Field owned by player green|
|Potential start field of a move|
|Selected start field of the move|
|Potential end field of a growing move for the selected start field|
|Potential end field of a jumping move for the selected start field|
|The end field of the latest move of the opponent|
In this game the neighborhood relationship between fields is important. That's why there are several boards with different topologies.
Rule of thumb: The more neighbors, the harder it is to circle the opponent.
A field has the six fields with shared edges as neighbors.
A field has the three fields with shared edges as neighbors.
- Squares 4
A field has the four fields with shared edges as neighbors. (That is above, below, left and right.)
- Squares 8
A field has the eight fields with shared corners as neighbors. (That is above, below, left, right, but also the diagonals above left, above right, below left and below right.)
Actions for the whole game or program.
Exits the current game and starts a new one.
Switches the language for the whole program.
Quits the program. (If you run this program as applet on my web page, you simply quit the program by leaving the page.)
Some information about the program.
Displays some help about this program.
- About Conquest...
Displays information about this program.
When you start a new game, you have several options to adapt the game to your needs.
Chooses the board (including topology).
- Player red
Selects the player type for player red.
- Player green
Selects the player type for player green.
The player type defines how a player is part of the game.
A human player in front of the computer, playing by mouse.
- Computer strategy random
A very easy, but unforeseeable computer player.
- Computer strategy greedy
An easy computer player, looking mainly for short term gains of controlled area.
- Computer strategy minimax
A still beatable computer player, able to look ahead some moves.