board_search.cpp File Reference

#include <dic.h>
#include "tile.h"
#include "rack.h"
#include "round.h"
#include "results.h"
#include "board.h"
#include "debug.h"

Go to the source code of this file.

Functions

static void BoardSearchEvalMove (const Board &iBoard, Matrix< Tile > &iTilesMx, Matrix< int > &iPointsMx, Matrix< bool > &iJokerMx, Results &iResults, Round &iWord)
static void ExtendRight (const Board &iBoard, const Dictionary &iDic, Matrix< Tile > &iTilesMx, Matrix< Cross > &iCrossMx, Matrix< int > &iPointsMx, Matrix< bool > &iJokerMx, Rack &iRack, Round &ioPartialWord, Results &iResults, unsigned int iNode, int iRow, int iCol, int iAnchor)
static void LeftPart (const Board &iBoard, const Dictionary &iDic, Matrix< Tile > &iTilesMx, Matrix< Cross > &iCrossMx, Matrix< int > &iPointsMx, Matrix< bool > &iJokerMx, Rack &iRack, Round &ioPartialWord, Results &iResults, int n, int iRow, int iAnchor, int iLimit)
static void BoardSearchAux (const Board &iBoard, const Dictionary &iDic, Matrix< Tile > &iTilesMx, Matrix< Cross > &iCrossMx, Matrix< int > &iPointsMx, Matrix< bool > &iJokerMx, Rack &iRack, Results &iResults, Coord::Direction iDir)


Function Documentation

static void BoardSearchAux const Board iBoard,
const Dictionary iDic,
Matrix< Tile > &  iTilesMx,
Matrix< Cross > &  iCrossMx,
Matrix< int > &  iPointsMx,
Matrix< bool > &  iJokerMx,
Rack iRack,
Results iResults,
Coord::Direction  iDir
[static]
 

Definition at line 211 of file board_search.cpp.

References Round::accessCoord(), BOARD_DIM, Dic_root(), ExtendRight(), Round::init(), LeftPart(), Coord::setCol(), Coord::setDir(), and Coord::setRow().

Referenced by Board::search().

static void BoardSearchEvalMove const Board iBoard,
Matrix< Tile > &  iTilesMx,
Matrix< int > &  iPointsMx,
Matrix< bool > &  iJokerMx,
Results iResults,
Round iWord
[static]
 

Definition at line 34 of file board_search.cpp.

References Round::accessCoord(), Coord::getCol(), Round::getCoord(), Coord::getDir(), Board::getLetterMultiplier(), Tile::getPoints(), Coord::getRow(), Round::getTile(), Round::getWordLen(), Board::getWordMultiplier(), Round::isJoker(), Round::setBonus(), Round::setPoints(), Coord::swap(), and Coord::VERTICAL.

Referenced by ExtendRight().

static void ExtendRight const Board iBoard,
const Dictionary iDic,
Matrix< Tile > &  iTilesMx,
Matrix< Cross > &  iCrossMx,
Matrix< int > &  iPointsMx,
Matrix< bool > &  iJokerMx,
Rack iRack,
Round ioPartialWord,
Results iResults,
unsigned int  iNode,
int  iRow,
int  iCol,
int  iAnchor
[static]
 

Definition at line 96 of file board_search.cpp.

References Rack::add(), Round::addRightFromRack(), BoardSearchEvalMove(), Dic_chr(), Dic_next(), Dic_succ(), Dic_word(), Rack::in(), Tile::Joker(), Rack::remove(), and Round::removeRightToRack().

Referenced by BoardSearchAux(), and LeftPart().

static void LeftPart const Board iBoard,
const Dictionary iDic,
Matrix< Tile > &  iTilesMx,
Matrix< Cross > &  iCrossMx,
Matrix< int > &  iPointsMx,
Matrix< bool > &  iJokerMx,
Rack iRack,
Round ioPartialWord,
Results iResults,
int  n,
int  iRow,
int  iAnchor,
int  iLimit
[static]
 

Definition at line 161 of file board_search.cpp.

References Round::accessCoord(), Rack::add(), Round::addRightFromRack(), Dic_chr(), Dic_next(), Dic_succ(), ExtendRight(), Coord::getCol(), Round::getCoord(), Rack::in(), Tile::Joker(), Rack::remove(), Round::removeRightToRack(), and Coord::setCol().

Referenced by BoardSearchAux(), and Board::searchFirst().


Generated on Thu Dec 29 02:01:15 2005 for Eliot by  doxygen 1.4.5