NAME

Games::Go::Rank - represents a player's rank in the game of Go

SYNOPSIS

use Games::Go::Rank;

my $black_rank = Games::Go::Rank->new(rank => '1k');
my $white_rank = Games::Go::Rank->new(rank => '2d');
if ($white_rank > $black_rank) { ... }

DESCRIPTION

This class represents a player's rank in the game of Go. Rank objects can be compared to see whether two ranks are equal or whether one rank is higher than the other. Rank objects stringify to the rank notation.

Use the standard notation for ranks such as 30k, 5k, 1d, 2p and so on. You can also use other common formats such as 6-dan or 2 dan. Anything after the first k, d or p is ignored. So 6-dan* is the same as 6-dan, which is the same as 6d.

Games::Go::Rank inherits from Class::Accessor::Complex.

The superclass Class::Accessor::Complex defines these methods and functions:

carp(), cluck(), croak(), flatten(), mk_abstract_accessors(),
mk_array_accessors(), mk_boolean_accessors(),
mk_class_array_accessors(), mk_class_hash_accessors(),
mk_class_scalar_accessors(), mk_concat_accessors(),
mk_forward_accessors(), mk_hash_accessors(), mk_integer_accessors(),
mk_new(), mk_object_accessors(), mk_scalar_accessors(),
mk_set_accessors(), mk_singleton()

The superclass Class::Accessor defines these methods and functions:

_carp(), _croak(), _mk_accessors(), accessor_name_for(),
best_practice_accessor_name_for(), best_practice_mutator_name_for(),
follow_best_practice(), get(), make_accessor(), make_ro_accessor(),
make_wo_accessor(), mk_accessors(), mk_ro_accessors(),
mk_wo_accessors(), mutator_name_for(), set()

The superclass Class::Accessor::Installer defines these methods and functions:

install_accessor(), subname()

METHODS

new
my $obj = Games::Go::Rank->new;
my $obj = Games::Go::Rank->new(%args);

Creates and returns a new object. The constructor will accept as arguments a list of pairs, from component name to initial value. For each pair, the named component is initialized by calling the method of the same name with the given value. If called with a single hash reference, it is dereferenced and its key/value pairs are set as described before.

as_value

Returns a number representing the rank. 1k is returned as 0, lower kyu ranks are returned as negative numbers (2K is -1, 3k is -2 etc.). Dan ranks are returned as positive numbers, with pro ranks coming immediately after dan ranks. For example, 1d == 1, 7d == 7, 1p == 8, 2p == 9. Only dan ranks up to 7d are recognized as amateur ranks - that is, 8d == 1p.

from_value

Sets the rank from a numerical value that is interpreted as described above.

TAGS

If you talk about this module in blogs, on del.icio.us or anywhere else, please use the gamesgorank tag.

VERSION

This document describes version 0.04 of Games::Go::Rank.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to <bug-games-go-rank@rt.cpan.org>, or through the web interface at http://rt.cpan.org.

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.

AUTHOR

Marcel Grünauer, <marcel@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2007 by Marcel Grünauer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.