package player; use strict; use warnings; use Exporter; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); $VERSION = 1.00; @ISA = qw(Exporter); @EXPORT = (); @EXPORT_OK = qw (new setPlayerStandingStatus getPlayerStandingStatus setPlayerPosition getPlayerPosition); %EXPORT_TAGS = ( ALL => [qw(&new &setPlayerStandingStatus &getPlayerStandingStatus &setPlayerPosition &getPlayerPosition)]); sub new { my $class = shift; my $self = { _NAME => shift, _STANDING => shift, _POSITION => shift, _INVENTORY => shift, _HP => shift, _MP => shift, _EXP => shift }; bless $self,$class; return $self; } sub updatePlayerName { my ($self,$player_name) = @_; $self->{_NAME} = $player_name if defined($player_name); return $self->{_NAME}; } sub getPlayerName { my( $self ) = @_; return $self->{_NAME}; } sub updateitemPlayerInventory { my ($self,$item,$quantity) = @_; if ($quantity == 0) { delete $self->{_INVENTORY}{$item}; } else { $self->{_INVENTORY}{$item} = $quantity if defined ($quantity); } return $self->{_INVENTORY}; } sub getPlayerInventory { my( $self ) = @_; return ($self->{_INVENTORY}); } sub setPlayerStandingStatus { my ($self,$standing_status) = @_; $self->{_STANDING} = $standing_status if defined($standing_status); return $self->{_STANDING}; } sub getPlayerStandingStatus { my( $self ) = @_; return $self->{_STANDING}; } sub setPlayerPosition { my ($self,$position) = @_; $self->{_POSITION} = $position if defined($position); return $self->{_POSITION}; } sub getPlayerPosition { my( $self ) = @_; return $self->{_POSITION}; } 1;