Source Code (Use browser search to find items of interest.)
Class Index
ksnake'Board (./kdegames/ksnake/board.h:32)
class Board : public QArray<int>
{
public:
Board (int s);
~Board() {};
QRect rect(int i);
void set(int i, Square sq);
bool isBrick(int i);
bool isEmpty(int i);
bool isApple(int i);
bool isHead(int i);
bool isSnake(int i);
int getNext(int, int);
private:
void index(int i);
bool inBounds(int i);
int row;
int col;
int sz;
};
ksnake'Board::Board() (./kdegames/ksnake/board.cpp:5)
Board::Board(int s)
:QArray<int> (s)
{
sz = s;
}
ksnake'Board::index() (./kdegames/ksnake/board.cpp:11)
void Board::index(int i)
{
row = i/BoardWidth;
col = i-(row*BoardWidth);
}
ksnake'Board::inBounds() (./kdegames/ksnake/board.cpp:17)
bool Board::inBounds(int i)
{
return ( i < 0 || i > sz-1 ? FALSE : TRUE);
}
ksnake'Board::set() (./kdegames/ksnake/board.cpp:22)
void Board::set(int i, Square sq)
{
if (inBounds(i))
at(i) = sq;
}
ksnake'Board::rect() (./kdegames/ksnake/board.cpp:28)
QRect Board::rect(int i)
{
index(i);
return (QRect(col*BRICKSIZE, row*BRICKSIZE, BRICKSIZE, BRICKSIZE));
}
ksnake'Board::isEmpty() (./kdegames/ksnake/board.cpp:34)
bool Board::isEmpty(int i)
{
if (inBounds(i))
return (at(i) == empty ? TRUE : FALSE);
return TRUE;
}
ksnake'Board::isBrick() (./kdegames/ksnake/board.cpp:41)
bool Board::isBrick(int i)
{
if (inBounds(i))
return (at(i) == brick ? TRUE : FALSE);
return FALSE;
}
ksnake'Board::isApple() (./kdegames/ksnake/board.cpp:48)
bool Board::isApple(int i)
{
if (inBounds(i))
return (at(i) == Apple ? TRUE : FALSE);
return FALSE;
}
ksnake'Board::isHead() (./kdegames/ksnake/board.cpp:55)
bool Board::isHead(int i)
{
if (inBounds(i))
return (at(i) == head ? TRUE : FALSE);
return FALSE;
}
ksnake'Board::isSnake() (./kdegames/ksnake/board.cpp:62)
bool Board::isSnake(int i)
{
if (inBounds(i))
return (at(i) == snake ? TRUE : FALSE);
return FALSE;
}
ksnake'Board::getNext() (./kdegames/ksnake/board.cpp:69)
int Board::getNext(int n, int i)
{
index(i);
switch(n)
{
case NW:
return( i >= BoardWidth && col > 0 ? (i-BoardWidth)-1 : OUT);
case N:
return( i >= BoardWidth ? i-BoardWidth : OUT );
case NE:
return( i >= BoardWidth && col < BoardWidth-1 ? (i-BoardWidth)+1 : OUT);
case W:
return(col > 0 ? i-1 : OUT );
case E:
return(col < BoardWidth-1 ? i+1 : OUT );
case SW:
return( row < sz-BoardWidth && col > 0 ? (i+BoardWidth)-1 : OUT);
case S:
return( row < sz-BoardWidth ? i+BoardWidth : OUT );
case SE:
return( row < sz-BoardWidth && col < BoardWidth-1 ? (i+BoardWidth)+1 : OUT);
default:
return OUT;
}
}