The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Games::Risk::Country - map country

VERSION

version 3.112410

SYNOPSIS

    my $country = Games::Risk::Country->new(\%params);

DESCRIPTION

This module implements a map country, with all its characteristics.

METHODS

Constructor

  • my $country = Games::Risk::Country->new( \%params )

    Create a new country. Mandatory params are name, continent, greyval, x and y (see below in Accessors section for a quick definition of those params). Other attributes are optional, but can be supplied anyway.

Accessors

The following accessors (acting as mutators, ie getters and setters) are available for Games::Risk::Country objects:

  • armies()

    number of armies currently in the country.

  • continent()

    a Games::Risk::Continent object in which the country is located.

  • greyval()

    an integer between 1 and 254 corresponding at the grey (all RGB values set to greyval()) used to draw the country on the grey-scale map.

  • id()

    alias for greyval().

  • name()

    country name.

  • owner()

    a Games::Risk::Player object currently owning the country.

  • coordx()

    the x location of the country capital.

  • coordy()

    the y location of the country capital.

Methods

  • $country->chown( $player )

    Change the owner of the $country to be $player. This implies updating cross-reference for previous owner and new one.

  • $country->destroy()

    Remove all circular references of $country, to prevent memory leaks.

  • my $bool = $country->is_neighbour( $c )

    Return true if $country is a neighbour of country $c, false otherwise.

  • my @neighbours = $country->neighbours()

    Return the list of $country's neighbours.

  • $country->neighbour_add( $c )

    Add $c to the list of $country's neighbours. This is not reciprocical.

SEE ALSO

Games::Risk.

AUTHOR

Jerome Quelin

COPYRIGHT AND LICENSE

This software is Copyright (c) 2008 by Jerome Quelin.

This is free software, licensed under:

  The GNU General Public License, Version 3, June 2007