# The &kenolaba; Handbook

## Introduction

&kenolaba; is a simple board strategy game that is played by two players. There are red and yellow pieces for each player. Beginning from a position where each player has 14 pieces, moves are drawn until one player has pushed 6 of his opponent's pieces out of the board.

The original program was developed in 1993 for DOS and pure Xlib. For &kde; there was a major rewrite.

If you know the board game called Abalone, you will like this program. In fact, this program was inspired by the mentioned game. Abalone is a trademark of Abalone SA, France.

## Rules of the Game

Red always moves first.

Two types of moves are allowed:

Normal

- One, two or three of your pieces in a row can be moved by one space in the 6 directions. Side moves are also allowed.

  Press the &LMB; on the first piece you want to move. The piece will then be highlighted. Now drag the mouse in the desired direction. If the move is valid, the cursor will change to an arrow in that direction and all the pieces of the move will be highlighted. If this is the move you want to draw, release the mouse button.

  Side moves are handled another way: For two adjacent pieces click between them and drag; for three pieces press the &MMB; on the middle piece - if a side move is allowed for the pieces they will be highlighted. Otherwise only the middle one is highlighted and you draw a normal move.

Pushing

- You can push a maximum of two pieces of the opponent in front of your own pieces as long as the number of pieces you move is greater than the number of the opponent's pieces that you push. That means with three of your pieces you can push one or two of the opponent's and with two pieces one.

  Special pushing moves are those which push a piece of the opponent out of the board. If you have pushed six of your opponent's pieces out of the board you have won.

If you still do not know what &kenolaba; is all about, look at a game where the computer plays both sides. After starting &kenolaba;, select Settings Computer Play Both and start a new game.

## Network Play

### General Network Play

&kenolaba; supports playing across a network. This allows two people to play against each other on different computers, or one person to observe the game play of another &kenolaba; program. To use &kenolaba;'s network features, &kenolaba; must be set to Network Mode by selecting Game Network Play.

All running &kenolaba; programs which are in Network Mode broadcast changed positions to each other.

To exchange positions, the &kenolaba; programs have to be told about each other. If they are running on the same machine, nothing is needed (apart from switching to Network Mode). If running on different computers you have to specify the other's machine on the command line with the `-h` switch, as so:

    %kenolaba -h SomeHostName

For insiders: &kenolaba;, when in Network Mode, listens on a TCP socket for position change commands by other &kenolaba; programs. You can specify the port number with the `-p` command line switch. You need this if you want to play two different &kenolaba; Network games.

#### Examples

- Chris on `machine1` and Mary on `machine2` want to play against each other: Mary simply starts &kenolaba;, sets Options Computer Play to None and switches to Network Mode. Chris starts &kenolaba; with

      %kenolaba -h machine2

  and then does the same as Mary. Now one of the two can start the game and draw a red move. Each time the position is changed in one program, it automatically changes in the other one too.

- John wants to observe the game: He does the same as Chris, but doesn't draw a move himself.

- Two different &kenolaba; Network Games will run among machines `m1` and `m2`. To distinguish the games, we choose port number 12345 for one. On `m1` we start as usual:

      %kenolaba

  for the first game, and (not so usual):

      %kenolaba -p 12345

  for the second. On `m2` we start the first game with:

      %kenolaba -h m1

  and the second with:

      %kenolaba -h m1:12345

  (The colon separates host and port as in a &URL;).

## Advanced Options

### Modify Mode

You can edit the current board position by selecting Edit Modify to put &kenolaba; in Modify Mode.You can add red or yellow pieces or delete them. The status line shows the number of red and yellow pieces, the move number, the side which is to draw the next move, and whether the position is valid: An exclamation sign means no, a checked symbol yes.

If the position is invalid and you switch back to normal Play Mode, you can not play! Only valid positions can be used as a starting position for a game.

Move Take Back and Move Forward simply decrement and increment the move number, but don't change any pieces.

#### Usage

By pressing the left or right mouse button on an empty or yellow field, you enter Red piece Adding mode. By pressing the middle button on an empty or red field, you enter Yellow piece Adding mode. Finally by pressing the left or the right mouse button on a red piece, or the middle mouse button on an yellow piece, you enter Piece Deleting Mode. Any piece that the mouse passes over with the button pressed will be deleted.

To exit Modify Mode and re-enter Play Mode, just uncheck Modify in the Edit menu.

##### Using the Clipboard

The current &kenolaba; board can be copied to the clipboard using the Copy command in the Edit menu, and then pasted back in using Paste. This way you can copy the board positions of one &kenolaba; program to another by pressing Copy in one program and Paste in the other, but this is better done with Network Mode (see above). Another usage is to save positions into a text file (using Copy and your Editor of choice) and retrieve a position later by selecting it in the editor and pasting in &kenolaba;.

### Computer Level

The computer can play at four different levels, namely:

- Easy

- Normal

- Hard

- Challenge

The harder the setting, the longer the computer searches for a move. You can interrupt the search by pressing the S key.

### Spying

Spying can be turned on and off from the Settings menu, and the Spy option. If it is your turn, you can see the computer's rating of the move you want to play in the status bar. If it's the computer's turn you can see (in status bar and highlighted pieces) the move he actually thinks is the best to play. Of course this changes along his search.

### Selecting what color the computer plays

You can make the computer play Red, Yellow or both sides. Choose between these options before starting a new game. Of course it works in a game too if you want to change sides. Choose None to play against another human. This is very useful in Network Mode.

## Advanced Configuration

&kenolaba; offers advanced configuration options for the daring, enabling you to change the whole scoring system if you wish. To access these advanced options, select Settings Configure Kenolaba.... As you change settings, the score that your modified settings give for the current move is displayed at the bottom of the dialog, next to Evaluation of actual position:.

### The Moves Tab

The number of points added to the total for each type of move can be modified here, depending on the type of move, and how many pieces are involved. The moves are divided into three types:

Normal

- A normal move is one in which you move one or more pieces of your own, but do not push any of your opponent's pieces.

Push

- A push move is one in which you push one or more of your opponent's pieces, but they remain on the board.

Push Out

- A push out move is one in which you push one or more of your opponent's pieces off the board.

### The Position Tab

The number of points added to the total score for a board position is dependent on which ring on the board the pieces are on. For each ring, from the center out, an average score to add can be set, with a +/- range. The score given for a particular position is varied randomly within the +/- range. This is to stop computer-computer games going into an infinite loop.

### The In-A-Row Tab

For each time the number of pieces in a row occurs, the given number of points is added to the score, ⪚ X O O O adds the score for three in a row, and also two times the score for two in a row.

### The Count Tab

Adds the given amount of points based on the difference in the number of balls on both sides, from 1 Ball more: up to 5 Balls more:. If there is a difference of 6 balls, the game is over.

### The Evaluation Schemes Tab

Your evaluation schemes, defined in all other tabs of this dialog, can be stored or deleted here.

## Menu Reference

Drawing moves is explained under Rules of the Game. The buttons in the toolbar have the same meaning as entries in the Game or Edit menu.

### The Game Menu

&Ctrl;N Game New

- Starts a new game even if a game is currently in play.

N Game Network Play

- If this toggle is switched on, the application is in Network Mode.

&Ctrl;Q Game Quit

- Quits &kenolaba;.

### The Edit Menu

&Ctrl;C Edit Copy

- Copy a representation of the &kenolaba; board to the clipboard

&Ctrl;V Edit Paste

- Interpret the content of the X clipboard as an ASCII representation of a &kenolaba; board, and copy it to the current board. A valid ASCII representation is generated by Copy.

&Ctrl;Insert Edit Modify

- Switches &kenolaba; to Modify Mode.

&Ctrl;S Edit Save Position

- Save the actual position to be retrieved later with Edit Restore Position .

&Ctrl;O Edit Restore Position

- Restore the board position stored in the &kenolaba; Configuration file by Edit Save Position.

### The Move Menu

H Move Hint

- A hint for your next move is shown. Only possible if you play at level normal or above, the move number is 2 or greater and you have not undone your move.

S Move Stop Search

- When the computer is thinking, his depth search is interrupted and he draws the best move he has found so far.

PagegUp Move Take Back

- Take back your previous move. Two (!) moves are undone: the opponents move and your last move. So it's your turn again. 100 moves are remembered; so don't hesitate to take back moves until you are at the beginning of the game. When in Modify mode (see Edit Modify ), decrement move number of this position.

PageDown Move Forward

- Only useful in Modify mode: Increment move number of this position.

### The Settings Menu

&Ctrl; M Settings Show Menubar

- Shows or hides the &kenolaba; menubar.

Settings Show Toolbar

- Shows or hides the &kenolaba; toolbar.

Settings Show Statusbar

- Shows or hides the &kenolaba; status bar at the bottom of the screen.

Settings Save Settings

- Saves the current settings to become the default for &kenolaba;.

Settings Choose Game Type

- Select the level that the computer plays at. Can be one of:

  - Easy

  - Normal

  - Hard

  - Challenge

Settings Computer Play

- Choose which colors the computer plays. Can be one of:

  - Red

  - Yellow

  - Both

  - None

Settings Move Slow

- A move drawn by the computer when this option is checked is shown by blinking and highlighting the pieces used in this move. Uncheck this option if you don't want to wait for this animation: Then only a quick highlighting is done.

Settings Render Balls

- If checked, the pieces are rendered online by an internal simple ray tracer when needed (⪚ when resizing the window).

Settings Spy

- If checked, turns on spying.

Settings Configure Shortcuts...

- Brings up the standard &kde; shortcuts configuration dialog to customize the shortcuts used by &kenolaba;.

Settings Configure Toolbars...

- Brings up the standard &kde; toolbar configuration dialog to customize the &kenolaba; toolbar.

Settings Configure &kenolaba;...

- Opens the &kenolaba; configuration dialog to change &kenolaba; settings. See advanced-config.

### The Help Menu

&help.menu.documentation;

## Command line options

    kenolaba

    -p
    MyPortNumber

    -h
    host:port

With `-p` you specify the port number of the listening TCP socket when in Network Mode.

With `-h` you specify a remote &kenolaba; process (with optional port number, when not using the default port on the remote machine) to communicate with when in Network mode. You can specify multiple remote processes.

## Credits & Licenses

&kenolaba;

Program copyright 1997-2000 &Josef.Weidendorfer; &Josef.Weidendorfer.mail;

Original Documentation by Robert Williams rwilliams@kde.org and &Josef.Weidendorfer;

Documentation maintained by &Philip.Rodrigues; &Philip.Rodrigues.mail;.

&underFDL; &underGPL;

## Installation

### How to obtain &kenolaba;

&install.intro.documentation;

### Compilation and Installation

&install.compile.documentation;