org.moyoman.module.dame
Interface Dame

All Superinterfaces:
Cloneable, ModuleInterface, Serializable
All Known Implementing Classes:
DameImpl

public interface Dame
extends ModuleInterface

A class that implements the Dame interface is responsible for identifying dame points. It is expected that this module will be most useful in the endgame, so it does not need to perform complex analysis during the fuseki or middle game to try to figure out which groups are alive in identifying dame points. In the endgame, it will need to deal with issues such as not filling in points which are involved in a seki. Points which are shared as part of a seki and cannot be filled in are considered to be dame points.


Method Summary
 boolean canPointBePlayed(Point pt)
          Determine if a dame point can be played.
 Set getDamePoints()
          Get all points which are dame points.
 boolean isDamePoint(Point pt)
          Determine if the given point is a dame point.
 
Methods inherited from interface org.moyoman.module.ModuleInterface
clone, getMoves, getScheduler
 

Method Detail

getDamePoints

public Set getDamePoints()
Get all points which are dame points.

Returns:
A Set containing Point objects.

canPointBePlayed

public boolean canPointBePlayed(Point pt)
                         throws IllegalArgumentException
Determine if a dame point can be played. In certain situations, such as a seki, the dame point should not be played.

Parameters:
pt - The dame point in question.
Returns:
true if the point can be played, or false.
Throws:
IllegalArgumentException - Thrown if the point is not a dame point.

isDamePoint

public boolean isDamePoint(Point pt)
Determine if the given point is a dame point.

Parameters:
pt - The point in question.
Returns:
true if the point is a dame point, or false.