NAME
Games::Nintendo::Mario -- a class for jumping Italian plumbers
SYNOPSIS
use Games::Nintendo::Mario;
my $hero = Games::Nintendo::Mario->new(name => 'Luigi');
$hero->damage; # cue the Mario Death Music
DESCRIPTION
This module provides a base class for representing the Mario Brothers from Nintendo's long-running Mario franchise of games. Each Mario object keeps track of the plumber's current state and can be damaged or given powerups to change his state.
METHODS
new
-
my $hero = Games::Nintendo::Mario->new(name => 'Luigi');
The constructor for Mario objects takes two named parameters,
name
andstate
.name
must be either "Mario" or "Luigi" andstate
must be "normal"If left undefined,
name
andstate
will default to "Mario" and "normal" respectively. powerup
-
$hero->powerup('hammer'); # this won't work
As the base Games::Nintendo::Mario class represents Mario from the original Mario Bros., there is no valid way to call this method. Subclasses representing Mario in other games may allow various powerup names to be passed.
damage
-
$hero->damage;
This method causes the object to react as if Mario has been attacked or damaged. In the base Games::Nintendo::Mario class, this will always result in his death.
state
-
print $hero->state;
This method accesses the name of Mario's current state.
name
-
print $hero->name;
This method returns the name of the plumber's current form. (In the base class, this is always the same as the name passed to the constructor.)
games
-
if (grep /World/, $hero->games) { ... }
This returns a list of the games in which Mario behaved according to the model provided by this class.
TODO
Games::Nintendo::Mario::Hearts base class for representing Marios that have hearts, like Mario from SMB2 or Wario. After that, of course, SMB2 and Wario classes.
AUTHORS
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT
Copyright 2003 by Ricardo Signes <rjbs@cpan.org>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html