rlm@0: package Card; rlm@0: use List::Util qw(first max maxstr min minstr reduce shuffle sum); rlm@0: rlm@0: sub new rlm@0: { rlm@0: my $class = shift; rlm@0: rlm@0: my $hashREF = rlm@0: { rlm@0: _tags => {}, rlm@0: _pix => "" rlm@0: }; rlm@0: rlm@0: $objectREF = bless($hashREF, $class); rlm@0: rlm@0: return $objectREF; rlm@0: rlm@0: } rlm@0: rlm@0: rlm@0: sub getTags rlm@0: { rlm@0: $bull = @_[0]->{'_tags'}; rlm@0: return keys(%$bull); rlm@0: }; rlm@0: sub addTags rlm@0: { rlm@0: $object = shift; rlm@0: @add = @_; rlm@0: if (@add) rlm@0: { rlm@0: @ohYeah = ($object->getTags(),@add); rlm@0: foreach(@ohYeah){$object->{_tags}{$_} = "";} rlm@0: } rlm@0: return $object->getTags(); rlm@0: }; rlm@0: rlm@0: rlm@0: sub hasTags rlm@0: { rlm@0: $card = shift; rlm@0: @rest = @_; rlm@0: @test = $card->getTags(); rlm@0: foreach $e(@rest){if (! (first {$e eq $_} @test)){return 0;}} rlm@0: return 1; rlm@0: } rlm@0: rlm@0: rlm@0: sub setPix { $_[0]->{_pix} = $_[1]; } rlm@0: sub getPix {return $_[0]->{_pix} ; } rlm@0: rlm@0: rlm@0: 1;