NAME
Game::Battleship::Craft - A Battleship craft class
SYNOPSIS
use Game::Battleship::Craft;
my $craft = Game::Battleship::Craft->new(
id => 'T',
name => 'tug boat',
points => 1,
)
my $points_remaining = $craft->hit;
DESCRIPTION
A Game::Battleship::Craft
object represents the profile of a Battleship
PUBLIC METHODS
new %ARGUMENTS
id => $STRING
A scalar identifier to use to indicate position on the grid. If one is not provided, the uppercased first name character will be used by default.
Currently, it is required that this be a single uppercase letter (the first letter of the craft name, probably), since a
hit
will be indicated by "lowercasing" this mark on a player grid.name => $STRING
A required attribute provided to give the craft a name.
points => $NUMBER
An attribute used to define the line segment span on the playing grid.
position => [$X, $Y]
The position of the craft bow ("nose") on the grid.
Currently, the craft is assumed to have a horizontal or vertical alignment. Soon there will be diagonal positioning...
hit()
$points_remaining = $craft->hit;
Increment the craft's hit
attribute value and return what's left of the craft (total point value minus the number of hits).
TO DO
Have different numbers of different weapons.
Allow a craft to have a width.
Allow diagonal positions too. Why not?
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
See Game::Battleship.