ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Games-Go-SimpleBoard/README
Revision: 1.1
Committed: Sun Jun 22 15:05:59 2008 UTC (15 years, 11 months ago) by root
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

# Content
1 NAME
2 Games::Go::SimpleBoard - represent a simple go board
3
4 SYNOPSIS
5 use Games::Go::SimpleBoard;
6
7 DESCRIPTION
8 Please supply a description )
9
10 EXPORTED CONSTANTS
11 Marker types for each board position (ORed together):
12
13 MARK_TRIANGLE # triangle mark
14 MARK_SQUARE # square mark
15 MARK_CIRCLE # circle mark
16 MARK_SMALL_B # small stone, used for scoring or marking
17 MARK_SMALL_W # small stone, used for scoring or marking
18 MARK_B # normal black stone
19 MARK_W # normal whit stone
20 MARK_GRAYED # in conjunction with MARK_[BW], grays the stone
21 MARK_LABEL # a text label
22 MARK_HOSHI # this is a hoshi point (not used much)
23 MARK_MOVE # this is a regular move
24 MARK_KO # this is a ko position
25 MARK_REDRAW # ignored, can be used for your own purposes
26
27 COLOUR_BLACK # used for $board->{last}
28 COLOUR_WHITE # to mark the colour of the last move
29
30 METHODS
31 my $board = new $size
32 Creates a new empty board of the given size.
33
34 "$board->{max}" stores the maximum board coordinate (size-1).
35
36 "$board->{captures}[COLOUR]" stores the number of captured stones
37 for the given colour.
38
39 "$board->{last}" stores the colour of the last move that was played.
40
41 "$board->{board}" stores a two-dimensional array with board
42 contents.
43
44 $hint = $board->update ([update-structure...])
45 Structure is
46
47 [$x, $y, $clr, $set, $label, $hint] # update or move
48 [] # pass
49
50 and changes the board or executes a move, by first clearing the bits
51 specified in $clr, then setting bits specified in $set.
52
53 If $set includes "MARK_LABEL", the label text must be given in
54 $label.
55
56 This function modifies the hint member of the specified path to
57 speed up repeated board generation and updates with the same update
58 structures.
59
60 If the hint member is a reference the scalar pointed to by the
61 reference is updated instead.
62
63 Example, make two silly moves:
64
65 $board->update ([[0, 18, -1, MARK_B|MARK_MOVE],
66 [0, 17, -1, MARK_W|MARK_MOVE]);
67
68 $board->is_valid_move ($colour, $x, $y[, $may_suicide])
69 Returns true if the move of the given colour on the given
70 coordinates is valid or not.
71
72 AUTHOR
73 Marc Lehmann <schmorp@schmorp.de>
74
75 SEE ALSO
76 KGS::Protocol, KGS::Game::Tree, Gtk2::GoBoard.
77