cKhet
====
Simple networked implementation of the board game Khet aka Deflexion.

See http://www.khet.com/ for more information, and
http://www.khet.com/rules.html for rules.

Requires python with the curses module.


Basic usage
-----------
Network play:
    One player will be the server, and should have port 13812 open.
    The server player should run:
	ckhet
    The other player should then run
	ckhet [hostname of server]

Playing against an AI:
    First run
	ckhet -r basic
    then (in another terminal)
	ckhet localhost
    The default lookahead for the AI is 3 moves - you can change this (if it's
    too slow or you want more/less of a challenge) by instead typing e.g.
	ckhet -r basic:2

For further usage information,
    ckhet --help


Interface help
--------------
Use numpad or vi-keys to move the cursor around, select with space or
enter a piece to move, then either select a square for it to move to or else
press '[' or ']' to rotate the piece.

Lasers will fire automatically at the end of each turn - the laser which will
fire next is highlighted in bold.

If you find that the diagonal lines in the ascii art are not straight, try
changing the graphics with -g (try 'ckhet -G' for a list of graphics sets)


Game rules
----------

The rules are those of "Khet 1.0".

There are 4 pieces:

Pyramid    Djed      Obelisk        Pharaoh
		  double  single
  #-/      \       .=.     .-.        .".
  /          \     `='     `-'        |-|

Players take turns. On your turn, you must move or rotate one of your pieces;
after doing so, your laser will fire.

Lasers bounce off the diagonal face of a pyramid and either face of a djed.

Any other piece hit by a laser, and a pyramid hit on either of its two
non-reflective faces, is destroyed, except that a double obelisk is merely
reduced to a single obelisk.

Pieces move like kings in chess, to any orthogonally or diagonally adjacent
empty position. The shaded squares at the edges may only be moved to by pieces
of the same colour. Pyramids and Djeds may, instead of moving, rotate by 90
degrees in either direction.

Djeds have the unique ability to forceably swap positions with any adjacent
non-djed piece.

A double obelisk may optionally unstack into two single obelisks when moving.

The aim of the game is to destroy your opponent's Pharaoh.


Irc channel
-----------
#ckhet on irc.freenode.net is the suggested meeting point for discussion and
for arranging games.


-- Martin Bays <mbays@sdf.org> 2010
