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 */