NAME

Games::Go::Cinderblock::Rulemap - The beating heart of cinderblock.

SYNOPSIS

my $rulemap = Games::Go::Cinderblock::Rulemap::Rect->new(
  w => 11,
  h => 8,
  wrap_h => 1,
  wrap_v => 1,
);
my $state = $rulemap->initial_state;
my $move_result = $state->attempt_move(
  color => 'b',
  node => [3,3],
);
say $move_result->succeeded ? 'success!' : ('failed? ' . $move_result->reason);
$state = $move_result->resulting_state;
# do something with $move_result->delta.

DESCRIPTION

This module is basically basilisk::Rulemap, now mostly split into a bunch of helper modules. The intention is still to use Moose's metaclass capabilities & method modifiers to override aspects of the default behavior.

This class still uses subclasses to define topology, and still only one topology is in a usable state: Games::Go::Cinderblock::Rulemap::Rect.

METHODS

initial_state

nodeset

empty_board

all_nodes