TODO-list for KREVERSI
======================

Next
----

* (from step 4 below)
  Create a new class KReversiGame, that stores a ReversiGame		DONE
  and sends a lot of signals.
    - Split out a lot of methods from the current class Board.		DONE

* Investigate if there is something wrong with the highscore handling.
  It seems as if a game is finished before all squares are covered
  that the highscore code is never engaged.


--------  Commit here  --------

* Convert KReversi to use KGame / KPlayer
  I. Convert KReversi to a proper Model/View program.
     1. Fix a ReversiGame (formerly known as Game)			DONE
        - Clean it up. (Only store the moves).
        - Add a few necessary methods.
     2. Move all the slots for KActions to kreversi.cpp			DONE
     3. Move the ownership of the engine and the game to kreversi.	DONE
     4. Create a new class KReversiGame, that stores a ReversiGame	DONE
	and sends a lot of signals.
        - Split out a lot of methods from the current class Board.
     5. Create KReversiBoardView from the rest of the current Board	DONE

  II. Introduce a class ReversiPlayer

  III. Convert everything to KGame
     1. Let KReversiGame inherit from KGame
     2. Let ReversiPlayer inherit from KPlayer.

  IV. ...

  V.  Profit!


Later
-----

* network-play against human
* implement ULONG64 as a class instead of using gcc "long long int"


PARTIALLY DONE/NOT DONE
=======================

* undo/redo
	undo works, but I'll probably do not make a redo function

* Sound support:
  I'm not happy with
  the sound files I have so if
  you have better sounds, mail them to me 
  (uuencoded). I need sounds for the following actions:
	- game won
	- game lost
	- game drawn
	- turning a piece
	- putting a piece
	- something for the hall of fame (trumpets???)

DONE
====

* Complete code cleanup.

* better strategy
	ported a JAVA applet with good strategy from Mats Luthman

* end-of-game
	shown via KMessageBox

* help
	via khelpcenter

* save options
	options are saved whenever they change

* highscores

* pieces should be drawn instead of bitmaps. Will allow other 
  colors than black/white.

* animated drawing of pieces
