Warning, /games/ksquares/Mainpage.dox is written in an unsupported language. File is not indexed.

0001 /**
0002 \mainpage KSquares
0003 
0004 \section intro_sec Introduction
0005 
0006 KSquares is a KDE implementation of the game "squares"
0007 
0008 \section overview_sec Overview
0009 
0010 The overall game is masterminded from @ref KSquaresWindow.
0011 That class creates a @ref KSquaresGame object which handles the game logic such as moving from player to player and tracking when points are scored.
0012 The information for each player is stored in @ref KSquaresPlayer of which KSquaresGame has an array.
0013 When a KSquaresGame event occurs it emits a signal which is picked up by the KSquaresWindow and passed onto the @ref GameBoardScene which is responsible for holding the information about the game board.
0014 The GameBoardScene emits signal when a line is drawn which passes via the KSquaresWindow back to KSquaresGame.
0015 
0016 \section index_sec Layout of indices
0017 
0018 In @ref KSquaresGame, @ref GameBoardScene and @ref aiController there is a consistent indexing rule for accesing the tables.
0019 
0020 For the list of squares and their owners, the indices simply count from left to right along the top row of the board, then along the second row etc.
0021 
0022 For the list of lines and whether they're drawn, the indices count from left to right along the top row of horizontal lines, then (left to right) along the first row of vertical lines etc.
0023 
0024 \image html ksquaresindex.png
0025 
0026 \section todo_sec TODO
0027 
0028 \todo A more obvious sign of where the computer player has moved
0029 
0030 \todo Logo/initials/colour/etc. for players squares
0031 
0032 \todo Themeable game board. Subclass all the QGraphicsItems and handle the theming there :D
0033 QGraphicsLineItem (feint lines, completed lines), QGraphicsEllipseItem (dots), QGraphicsRectItem(completed squares)
0034 
0035 \todo foreach for QLists in AI class
0036 
0037 \todo valgrind
0038 
0039 \todo *Not yet* Hints
0040         
0041 \todo *Not yet* Network play
0042 */
0043 
0044 /*!
0045         \namespace KSquares 
0046         \brief Namespace for KSquares only stuff
0047         
0048         Blah
0049 */