Games::Nintendo::Mario::SMB3 - a class for fuzzy-tailed Italian plumbers


Games-Nintendo-Mario documentation Contained in the Games-Nintendo-Mario distribution.

Index


Code Index:

NAME

Top

Games::Nintendo::Mario::SMB3 -- a class for fuzzy-tailed Italian plumbers

VERSION

Top

version 0.204

SYNOPSIS

Top

  use Games::Nintendo::Mario::SMB3;

  my $hero = new Games::Nintendo::Mario::SMB
                   name  => 'Mario',
                   state => 'hammer';

  $hero->powerup('mushroom'); # Nothing happens.
  $hero->damage;              # back to super

  print "It's-a me!  ", $hero->name, "!\n"; # 'Super Mario'

  $hero->powerup('frogsuit'); # Nothing happens.

  $hero->damage for (1 .. 2); # cue the Mario Death Music

DESCRIPTION

Top

This class subclasses Games::Nintendo::Mario, providing a model of the behavior of the Mario Brothers in Super Mario Brothers 3. All of the methods described in the Mario interface exist as documented.

NAMES

The plumber may be named Mario or Luigi.

STATES

The plumber's state may be any of: normal, super, fire, raccoon, tanooki, hammer, frog, or pwing

POWERUPS

Valid powerups are: mushroom, flower, leaf, tanookisuit, hammersuit, frogsuit, or pwing

METHODS

Top

games

This ruleset reflects Mario in Super Mario Bros. 3.

AUTHOR

Top

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT

Top


Games-Nintendo-Mario documentation Contained in the Games-Nintendo-Mario distribution.

use strict;
use warnings;
package Games::Nintendo::Mario::SMB3;

our $VERSION = '0.204';

use base qw(Games::Nintendo::Mario);

sub _names  { qw[Mario Luigi] }
sub _states { qw[normal super fire raccoon tanooki frog hammer pwing] }
sub _items  { qw[mushroom flower leaf tanookisuit frogsuit hammersuit pwing] }

sub _goto_hash { 
  {
    damage    => {
      normal  => 'dead',
      super  => 'normal',
      _else  => 'super'
    },
    mushroom   => {
      normal  => 'super'
    },
    flower    => 'fire',
    leaf    => 'raccoon',
    tanookisuit  => 'tanooki',
    hammersuit  => 'hammer',
    frogsuit  => 'frog',
    pwing    => 'pwing'
  }
}

sub games {
  return ('Super Mario Bros. 3');
}

"It's-a me!  Mario!";

__END__