#include "SgSystem.h"
#include "SgProp.h"
#include <iomanip>
#include <sstream>
#include "SgRect.h"
#include "SgUtil.h"
#include "SgVector.h"
Go to the source code of this file.
Variables | |
SgPropID | SG_PROP_NONE = 0 |
Default value returned by some functions. | |
SgPropID | SG_PROP_UNKNOWN = 0 |
Unknown property read from disk. | |
SgPropID | SG_PROP_MOVE = 0 |
Generic property for black and white move. | |
SgPropID | SG_PROP_MOVE_BLACK = 0 |
Black move. | |
SgPropID | SG_PROP_MOVE_WHITE = 0 |
White move. | |
SgPropID | SG_PROP_ADD_BLACK = 0 |
Add a list of black stones to the current position. | |
SgPropID | SG_PROP_ADD_WHITE = 0 |
Add a list of white stones to the current position. | |
SgPropID | SG_PROP_ADD_EMPTY = 0 |
Remove stones from the board. | |
SgPropID | SG_PROP_PLAYER = 0 |
Whose turn it is to move after executing the node. | |
SgPropID | SG_PROP_VALUE = 0 |
Node value expressed as positive = good for Black. | |
SgPropID | SG_PROP_TERR_BLACK = 0 |
Black surrounded territory and dead white stones. | |
SgPropID | SG_PROP_TERR_WHITE = 0 |
White surrounded territory and dead black stones. | |
SgPropID | SG_PROP_MARKS = 0 |
Generic property for marked board points. | |
SgPropID | SG_PROP_SELECT = 0 |
Selected points used to temporarily mark points. | |
SgPropID | SG_PROP_MARKED = 0 |
Crosses displayed on stones and empty points. | |
SgPropID | SG_PROP_TRIANGLE = 0 |
Triangles displayed on stones and empty points. | |
SgPropID | SG_PROP_SQUARE = 0 |
Small squares or square stones. | |
SgPropID | SG_PROP_DIAMOND = 0 |
Diamond marks. | |
SgPropID | SG_PROP_CIRCLE = 0 |
Board points marked with small grey circles. | |
SgPropID | SG_PROP_DIMMED = 0 |
Dimmed points. | |
SgPropID | SG_PROP_LABEL = 0 |
Sequence of pairs: point, four letter label. | |
SgPropID | SG_PROP_TIMES = 0 |
Generic property for time left information. | |
SgPropID | SG_PROP_TIME_BLACK = 0 |
Time left for the black player (TimeProp). | |
SgPropID | SG_PROP_TIME_WHITE = 0 |
Time left for the white player (TimeProp). | |
SgPropID | SG_PROP_OT_NU_MOVES = 0 |
Number of moves per overtime period (0 = no overtime). | |
SgPropID | SG_PROP_OT_PERIOD = 0 |
Length of each overtime period. | |
SgPropID | SG_PROP_OT_BLACK = 0 |
Number of stones to play for black in this overtime period. | |
SgPropID | SG_PROP_OT_WHITE = 0 |
Number of stones to play for white in this overtime period. | |
SgPropID | SG_PROP_LOSE_TIME = 0 |
Added to root node if losing on time is enforced. | |
SgPropID | SG_PROP_OVERHEAD = 0 |
Seconds of operator overhead for each move. | |
SgPropID | SG_PROP_COUNT = 0 |
Generic property subsuming all in statistics category. | |
SgPropID | SG_PROP_TIME_USED = 0 |
The time used to solve a problem. | |
SgPropID | SG_PROP_NUM_NODES = 0 |
The number of nodes looked at to solve a problem. | |
SgPropID | SG_PROP_NUM_LEAFS = 0 |
The number of leaf nodes inspected. | |
SgPropID | SG_PROP_MAX_DEPTH = 0 |
The maximal depth reached during the search. | |
SgPropID | SG_PROP_DEPTH = 0 |
The number of plies searched. | |
SgPropID | SG_PROP_PART_DEPTH = 0 |
The number of top level moves at deepest search. | |
SgPropID | SG_PROP_EVAL = 0 |
A value computed for a position. | |
SgPropID | SG_PROP_EXPECTED = 0 |
The move expected from the current player. | |
SgPropID | SG_PROP_FORMAT = 0 |
The file format used to store the game. | |
SgPropID | SG_PROP_SIZE = 0 |
The board size. | |
SgPropID | SG_PROP_GAME = 0 |
The game (encoding see SgTypes.TheGame). | |
SgPropID | SG_PROP_SPEC_BLACK = 0 |
Species of the black player (human, computer, modem). | |
SgPropID | SG_PROP_SPEC_WHITE = 0 |
Species of the white player (human, computer, modem). | |
SgPropID | SG_PROP_CHINESE = 0 |
Number of Chinese handicap stones. | |
SgPropID | SG_PROP_APPLIC = 0 |
The application that wrote this file. | |
SgPropID | SG_PROP_ANNOTATE = 0 |
Generic property subsuming all annotation properties. | |
SgPropID | SG_PROP_COMMENT = 0 |
The textual comment of a node. | |
SgPropID | SG_PROP_NAME = 0 |
Short textual comment. | |
SgPropID | SG_PROP_CHECK = 0 |
Position marked with a check mark. | |
SgPropID | SG_PROP_SIGMA = 0 |
Position marked with a sigma icon. | |
SgPropID | SG_PROP_HOTSPOT = 0 |
General position mark. | |
SgPropID | SG_PROP_FIGURE = 0 |
Divides the game into sections to be printed. | |
SgPropID | SG_PROP_POS_ANNO = 0 |
Generic property subsuming all position annotations. | |
SgPropID | SG_PROP_GOOD_BLACK = 0 |
Good position for Black. | |
SgPropID | SG_PROP_GOOD_WHITE = 0 |
Good position for White. | |
SgPropID | SG_PROP_EVEN_POS = 0 |
Even position. | |
SgPropID | SG_PROP_UNCLEAR = 0 |
Unclear position. | |
SgPropID | SG_PROP_MOVE_ANNO = 0 |
Generic property subsuming all move annotations. | |
SgPropID | SG_PROP_GOOD_MOVE = 0 |
Denotes an exceptionally good move (! or !!). | |
SgPropID | SG_PROP_BAD_MOVE = 0 |
Denotes a bad move (? or ??). | |
SgPropID | SG_PROP_INTERESTING = 0 |
Denotes an interesting move (!?). | |
SgPropID | SG_PROP_DOUBTFUL = 0 |
Denotes a doubtful move (?!). | |
SgPropID | SG_PROP_INFO = 0 |
Generic property subsuming all game info props. | |
SgPropID | SG_PROP_GAME_NAME = 0 |
The file name of the game. | |
SgPropID | SG_PROP_GAME_COMMENT = 0 |
Comment pertaining to the whole game. | |
SgPropID | SG_PROP_EVENT = 0 |
Text describing the event. | |
SgPropID | SG_PROP_ROUND = 0 |
The round of the tournament. | |
SgPropID | SG_PROP_DATE = 0 |
The date when the game was played. | |
SgPropID | SG_PROP_PLACE = 0 |
Where the game was played. | |
SgPropID | SG_PROP_PLAYER_BLACK = 0 |
Name of the black player. | |
SgPropID | SG_PROP_PLAYER_WHITE = 0 |
Name of the white player. | |
SgPropID | SG_PROP_RESULT = 0 |
Who won the game. | |
SgPropID | SG_PROP_USER = 0 |
The person who entered the game and comments. | |
SgPropID | SG_PROP_TIME = 0 |
The time allocated to each player. | |
SgPropID | SG_PROP_SOURCE = 0 |
Where the game was copied from. | |
SgPropID | SG_PROP_COPYRIGHT = 0 |
Who has the copyright on the material. | |
SgPropID | SG_PROP_ANALYSIS = 0 |
Who analyzed the game. | |
SgPropID | SG_PROP_RANK_BLACK = 0 |
Ranking of black player. | |
SgPropID | SG_PROP_RANK_WHITE = 0 |
Ranking of white player. | |
SgPropID | SG_PROP_TEAM_BLACK = 0 |
Team of black player. | |
SgPropID | SG_PROP_TEAM_WHITE = 0 |
Team of white player. | |
SgPropID | SG_PROP_OPENING = 0 |
The opening played in the game. | |
SgPropID | SG_PROP_RULES = 0 |
Special rules (Go: Japanese or Chinese). | |
SgPropID | SG_PROP_HANDICAP = 0 |
Number of handicap stones. | |
SgPropID | SG_PROP_KOMI = 0 |
Komi value. | |
SgPropID | SG_PROP_FIND_MOVE = 0 |
Indicates that depth-first traversal searches text. | |
SgPropID | SG_PROP_FIND_TEXT = 0 |
Indicates that depth-first traversal searches move. | |
SgPropID | SG_PROP_BRANCH = 0 |
Used to search for branch points. | |
SgPropID | SG_PROP_TERMINAL = 0 |
A terminal node, only used for display. | |
SgPropID | SG_PROP_MOTIVE = 0 |
Move motive: why move was generated. | |
SgPropID | SG_PROP_SEQUENCE = 0 |
Sequence of moves expected by computer player. | |
SgPropID | SG_PROP_NOT_EMPTY = 0 |
Constraint: points must not be empty. | |
SgPropID | SG_PROP_NOT_BLACK = 0 |
Constraint: points must not be black. | |
SgPropID | SG_PROP_NOT_WHITE = 0 |
Constraint: points must not be white. |
See SgProp.h.
Implementation details:
A property list is simply kept as a list. Any special characteristics of the property list are enforced when adding new items to the list.
Definition in file SgProp.cpp.
Add a list of black stones to the current position.
Definition at line 261 of file SgProp.cpp.
Referenced by SgNodeUtil::GetMoveNumber(), and SgProp::Init().
Remove stones from the board.
Definition at line 263 of file SgProp.cpp.
Referenced by SgNodeUtil::GetMoveNumber(), and SgProp::Init().
Add a list of white stones to the current position.
Definition at line 262 of file SgProp.cpp.
Referenced by SgNodeUtil::GetMoveNumber(), and SgProp::Init().
Generic property subsuming all annotation properties.
Definition at line 314 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
The application that wrote this file.
Definition at line 311 of file SgProp.cpp.
Referenced by SgProp::Init().
Denotes a bad move (? or ??).
Definition at line 332 of file SgProp.cpp.
Referenced by SgPropList::AppendMoveAnnotation(), SgProp::ConvertFindTextToPropID(), and SgProp::Init().
Used to search for branch points.
Definition at line 364 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), SgNode::HasProp(), and SgProp::Init().
Position marked with a check mark.
Definition at line 317 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), SgProp::Init(), and SgSearchTracer::TraceValue().
Number of Chinese handicap stones.
Definition at line 310 of file SgProp.cpp.
Referenced by SgProp::Init().
Board points marked with small grey circles.
Definition at line 278 of file SgProp.cpp.
Referenced by SgProp::Init().
The textual comment of a node.
Definition at line 315 of file SgProp.cpp.
Referenced by SgNode::AddComment(), SgProp::ConvertFindTextToPropID(), SgProp::Init(), and SgSearchTracer::InitTracing().
Who has the copyright on the material.
Definition at line 350 of file SgProp.cpp.
Referenced by SgProp::Init().
Generic property subsuming all in statistics category.
Definition at line 294 of file SgProp.cpp.
Referenced by SgProp::Init().
SgPropID SG_PROP_DATE = 0 |
The date when the game was played.
Definition at line 342 of file SgProp.cpp.
Referenced by SgProp::Init().
The number of plies searched.
Definition at line 299 of file SgProp.cpp.
Referenced by SgProp::Init().
Denotes a doubtful move (?!).
Definition at line 334 of file SgProp.cpp.
Referenced by SgPropList::AppendMoveAnnotation(), and SgProp::Init().
SgPropID SG_PROP_EVAL = 0 |
A value computed for a position.
Definition at line 301 of file SgProp.cpp.
Referenced by SgProp::Init().
The move expected from the current player.
Definition at line 302 of file SgProp.cpp.
Referenced by SgProp::Init().
Divides the game into sections to be printed.
Definition at line 320 of file SgProp.cpp.
Referenced by SgProp::Init().
Indicates that depth-first traversal searches text.
Definition at line 362 of file SgProp.cpp.
Referenced by SgProp::Init().
Indicates that depth-first traversal searches move.
Definition at line 363 of file SgProp.cpp.
Referenced by SgProp::Init().
The file format used to store the game.
Definition at line 305 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgGameWriter::WriteGame().
SgPropID SG_PROP_GAME = 0 |
The game (encoding see SgTypes.TheGame).
Definition at line 307 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgGameWriter::WriteNode().
Comment pertaining to the whole game.
Definition at line 339 of file SgProp.cpp.
Referenced by SgProp::Init().
Denotes an exceptionally good move (! or !!).
Definition at line 331 of file SgProp.cpp.
Referenced by SgPropList::AppendMoveAnnotation(), SgProp::ConvertFindTextToPropID(), and SgProp::Init().
General position mark.
Definition at line 319 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
SgPropID SG_PROP_INFO = 0 |
Generic property subsuming all game info props.
Definition at line 337 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
Denotes an interesting move (!?).
Definition at line 333 of file SgProp.cpp.
Referenced by SgPropList::AppendMoveAnnotation(), and SgProp::Init().
SgPropID SG_PROP_KOMI = 0 |
Sequence of pairs: point, four letter label.
Definition at line 280 of file SgProp.cpp.
Referenced by SgProp::Init().
Added to root node if losing on time is enforced.
Definition at line 290 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgNodeUtil::UpdateTime().
Crosses displayed on stones and empty points.
Definition at line 274 of file SgProp.cpp.
Referenced by SgProp::Init().
Generic property for marked board points.
Definition at line 272 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
The maximal depth reached during the search.
Definition at line 298 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgSearchTracer::StartOfDepth().
Move motive: why move was generated.
Definition at line 368 of file SgProp.cpp.
Referenced by SgProp::Init().
SgPropID SG_PROP_MOVE = 0 |
Generic property for black and white move.
Definition at line 256 of file SgProp.cpp.
Referenced by SgPropList::Add(), SgNodeUtil::GetMoveNumber(), and SgProp::Init().
Generic property subsuming all move annotations.
Definition at line 330 of file SgProp.cpp.
Referenced by SgPropList::Add(), SgPropList::AppendMoveAnnotation(), and SgProp::Init().
Black move.
Definition at line 257 of file SgProp.cpp.
Referenced by SgNode::AddMoveProp(), SgProp::ConvertFindTextToPropID(), SgNode::HasNodeMove(), SgNode::NodeMove(), and SgNode::NodePlayer().
White move.
Definition at line 258 of file SgProp.cpp.
Referenced by SgNode::AddMoveProp(), SgProp::ConvertFindTextToPropID(), SgNode::HasNodeMove(), and SgNode::NodeMove().
SgPropID SG_PROP_NAME = 0 |
Short textual comment.
Definition at line 316 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
SgPropID SG_PROP_NONE = 0 |
Default value returned by some functions.
Definition at line 252 of file SgProp.cpp.
Referenced by SgNode::ContainsText(), SgProp::ConvertFindTextToPropID(), SgProp::GetIDOfLabel(), SgGameReader::HandleProperties(), and SgProp::Init().
Constraint: points must not be black.
Definition at line 371 of file SgProp.cpp.
Referenced by SgProp::Init().
Constraint: points must not be empty.
Definition at line 370 of file SgProp.cpp.
Referenced by SgProp::Init().
Constraint: points must not be white.
Definition at line 372 of file SgProp.cpp.
Referenced by SgProp::Init().
The number of leaf nodes inspected.
Definition at line 297 of file SgProp.cpp.
Referenced by SgProp::Init().
The number of nodes looked at to solve a problem.
Definition at line 296 of file SgProp.cpp.
Referenced by SgNode::CountNodes(), and SgProp::Init().
The opening played in the game.
Definition at line 356 of file SgProp.cpp.
Referenced by SgProp::Init().
Number of stones to play for black in this overtime period.
Definition at line 288 of file SgProp.cpp.
Referenced by SgTimeRecord::GetOTMovesFromTree(), SgProp::Init(), and SgTimeRecord::PlayedMove().
Number of moves per overtime period (0 = no overtime).
Definition at line 286 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgNodeUtil::UpdateTime().
Length of each overtime period.
Definition at line 287 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgNodeUtil::UpdateTime().
Number of stones to play for white in this overtime period.
Definition at line 289 of file SgProp.cpp.
Referenced by SgTimeRecord::GetOTMovesFromTree(), and SgProp::Init().
Seconds of operator overhead for each move.
Definition at line 291 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgNodeUtil::UpdateTime().
The number of top level moves at deepest search.
Definition at line 300 of file SgProp.cpp.
Referenced by SgProp::Init().
Whose turn it is to move after executing the node.
Definition at line 264 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgNode::Player().
Generic property subsuming all position annotations.
Definition at line 323 of file SgProp.cpp.
Referenced by SgPropList::Add(), and SgProp::Init().
The round of the tournament.
Definition at line 341 of file SgProp.cpp.
Referenced by SgProp::Init().
Special rules (Go: Japanese or Chinese).
Definition at line 357 of file SgProp.cpp.
Referenced by SgProp::Init().
Selected points used to temporarily mark points.
Definition at line 273 of file SgProp.cpp.
Referenced by SgProp::Init().
Sequence of moves expected by computer player.
Definition at line 369 of file SgProp.cpp.
Referenced by SgProp::Init().
Position marked with a sigma icon.
Definition at line 318 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
SgPropID SG_PROP_SIZE = 0 |
The board size.
Definition at line 306 of file SgProp.cpp.
Referenced by SgGameWriter::HandleProps(), and SgProp::Init().
Where the game was copied from.
Definition at line 349 of file SgProp.cpp.
Referenced by SgProp::Init().
Species of the black player (human, computer, modem).
Definition at line 308 of file SgProp.cpp.
Referenced by SgProp::Init().
Species of the white player (human, computer, modem).
Definition at line 309 of file SgProp.cpp.
Referenced by SgProp::Init().
Small squares or square stones.
Definition at line 276 of file SgProp.cpp.
Referenced by SgProp::Init().
A terminal node, only used for display.
Definition at line 365 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), SgNode::HasProp(), and SgProp::Init().
Black surrounded territory and dead white stones.
Definition at line 268 of file SgProp.cpp.
Referenced by SgProp::Init().
White surrounded territory and dead black stones.
Definition at line 269 of file SgProp.cpp.
Referenced by SgProp::Init().
SgPropID SG_PROP_TIME = 0 |
The time allocated to each player.
Definition at line 348 of file SgProp.cpp.
Referenced by SgProp::Init().
Time left for the black player (TimeProp).
Definition at line 284 of file SgProp.cpp.
Referenced by SgTimeRecord::GetTimeFromTree(), SgProp::Init(), SgTimeRecord::PlayedMove(), SgTimeRecord::SetClock(), SgTimeRecord::SetTimeInTree(), and SgGameWriter::ShouldWriteProperty().
The time used to solve a problem.
Definition at line 295 of file SgProp.cpp.
Referenced by SgProp::Init().
Time left for the white player (TimeProp).
Definition at line 285 of file SgProp.cpp.
Referenced by SgTimeRecord::GetTimeFromTree(), SgProp::Init(), SgTimeRecord::SetTimeInTree(), and SgGameWriter::ShouldWriteProperty().
Generic property for time left information.
Definition at line 283 of file SgProp.cpp.
Referenced by SgProp::Init().
Triangles displayed on stones and empty points.
Definition at line 275 of file SgProp.cpp.
Referenced by SgProp::ConvertFindTextToPropID(), and SgProp::Init().
Unknown property read from disk.
Definition at line 253 of file SgProp.cpp.
Referenced by SgPropList::Add(), SgGameReader::HandleProperties(), and SgProp::Init().
SgPropID SG_PROP_USER = 0 |
The person who entered the game and comments.
Definition at line 347 of file SgProp.cpp.
Referenced by SgProp::Init().
Node value expressed as positive = good for Black.
Definition at line 267 of file SgProp.cpp.
Referenced by SgProp::Init(), and SgSearchTracer::TraceValue().