Rules

Kalah is an oriental game traditionally plays with diamonds (if you have them). In this simulation you play against the computer. Beware - it is a tough opponent.

The rules are quite simple. Each player starts with six bowls, each containing six diamonds, and an additional bowl, the Kalah, on his (or her) left. When it is his turn, he can choose one of his bowls, empty it and fill the bowls clockwise with the diamonds, including his own, but omitting the Kalah of his opponent.

If the last stone happens to fall into his own Kalah, he gets another turn. If it falls into an empty bowl on his own side, the content of this bowl and the opposing bowl of the opponent are filled into the Kalah of the player.

The game ends, when all bowls of one side are empty. Then the diamonds of the opponent go into the Kalah of the opponent. The player with more diamonds wins.

You can choose a level of thinking, which is measured in half moves. To make the computer start a game, click on the computer button.

I programmed this in Java to test Java's speed. It turns out that in this game the speed loss of factor 10 relative to C++ code is not all to important. You will loose a level of thinking.

If you are interested, here is the source of this application. It is free. However, if you use the applet in a page, please link to my home site.