Index   Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

Todo List

Class GoBlock
Avoid cyclic dependency with GoBlock

Member GoBlock::Liberties () const
slow

Member GoChainCondition::UsesLibs () const
make a base class without libs

Member GoChainCondition::m_type
replace by class

Member GoGameRecord::CurrentNode () const
changed from protected to public because of getting the current time left.

Member GoGameRecord::CurrentNode ()
changed from protected to public because of getting the current time left.

Member GoGameRecord::GetScore (int *score) const
: in what units? Return true if there's a score recorded in the tree, otherwise false. Override to return information about the score from a player.

Member GoGame::PlayHumanMove (SgMove move, SgBlackWhite player)
AR: to be replaced by HumanPlayer.

Member GoGameRecord::InitFromRoot (SgNode *root, bool fTakeOwnership)
AR: change comment

Member GoGameRecord::InitFromRoot (SgNode *root, bool fTakeOwnership)
get handicap from properties, not from board

get komi from properties, not from board

Class GoRegion
Avoid cyclic dependency with GoBlock

Member GoRegion::AllEmptyAreLibs () const
does not test only for boundary block libs, but all libs.

Member GoRegion::ComputeIs1Vital () const
explain the algorithm.

Member GoRegion::Find2FreeLibs (const GoChain *c1, const GoChain *c2, SgPoint *lib1, SgPoint *lib2) const
In future, must respect all other chain conditions active in this region.

Member GoRegion::FindChains (const GoRegionBoard &ra)
There must be faster ways to do this.

Member GoRegion::InteriorEmpty (SgVector< SgPoint > *interiorEmpty, int maxNu) const
does not test only for boundary block libs, but all libs.

Member GoRegionBoard::GenChains ()
currently this only creates 1 chain for each block. The merging is only done in GoSafetySolver::GenBlocksRegions() and must be moved here.

Member GoRegionBoard::m_computedHealthy
in fully incremental mode, this should be determined locally for each block, not globally.

Member GoRegionBoard::s_alloc
do it in debug only

Member GoSearch::CheckDepthLimitReached () const
Remove. Implement it in the subclasses, because it depends on the move generation there.

Class GoSortedMoves
make maxNuMoves a template parameter, use instead of GO_SORTED_MOVES_MAX

File GoBoardCheckPerformance.h
check performance on different kinds of positions. check execute/undo move, full board repetition, etc.

File GoEyeCount.h
the implementation of seki support is incomplete.

needs unit test cases.

Member GoEyeStatus
there are more cases, see Landman's paper in Games of no Chance. Will add them later as needed.

Member IsAliveBlock
needs to check if all points in block are adjacent to defender's stones - to avoid bent 4, 3x2 in corner etc.

Member IsAlwaysAliveBlock
needs to check if all points in block are adjacent to defender's stones - to avoid bent 4, 3x2 in corner etc.

Member IsBentFour
rewrite using the pattern symmetry functions

Member GoEyeUtil::TestNakade (const SgPointSet &points, const GoBoard &bd, SgBlackWhite color, bool isFullyEnclosed, bool &isNakade, bool &makeNakade, bool &makeFalse, bool &maybeSeki, bool &sureSeki, SgPoint *vital)
: seki support is primitive only. vital is set iff makeNakade or makeFalse

Member GoEyeUtil::IsSimpleEye (const GoBoard &bd, SgPoint p, SgBlackWhite c)
Add example to documentation where this method fails

Member GoRegionFlag
Does not follow naming convention for constants in global namespace; rename to all-uppercase and use prefix GO_

Member TwoSeparateEyes
To be replaced by incremental region code, which will recognize the eye regions. Right now, test only for special cases, not even Benson. 1. single block 2 eyes 2. simple check for 2 blocks

Namespace GoBoardWrite
move into its own file


17 Jun 2010 Doxygen 1.4.7