| Acme-MorningMusume-ShinMember documentation | Contained in the Acme-MorningMusume-ShinMember distribution. |
Acme::MorningMusume::ShinMember - Create random Morning Musume!
Version 0.01
Creates a random morning musume member that's "based on" two random parent members:
use Acme::MorningMusume::ShinMember;
my $member = Acme::MorningMusume::ShinMember->new;
print "I created ". $member->name_en. "!\n";
# etc..
The $member can then be used like any Acme::MorningMusume::Base
object. See bin/genmusume for an example.
Called by Acme::MorningMusume::Base::new to make the Musume.
Jonathan Rockway, <jrockway at cpan.org>
Please report any bugs or feature requests to
bug-acme-morningmusume-shinmember at rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Acme-MorningMusume-ShinMember.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
Want the real Mornon
#perl.
Copyright 2006 Jonathan Rockway, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Acme-MorningMusume-ShinMember documentation | Contained in the Acme-MorningMusume-ShinMember distribution. |
package Acme::MorningMusume::ShinMember; use warnings; use strict; use Acme::MorningMusume; use Acme::BloodType; use utf8; use base 'Acme::MorningMusume::Base';
our $VERSION = '0.01';
sub info { my $musume = Acme::MorningMusume->new; my @musume = $musume->select('age', 0, '<'); # all of 'em! my ($mom, $dad) = @musume[rand(@musume), rand(@musume)]; my %attributes; $attributes{first_name_en} = $mom->first_name_en; $attributes{first_name_ja} = $mom->first_name_ja; utf8::decode($attributes{first_name_ja}); $attributes{family_name_en} = $dad->family_name_en; $attributes{family_name_ja} = $dad->family_name_ja; utf8::decode($attributes{family_name_ja}); $attributes{nick} = [substr($attributes{first_name_ja}, 0, 1).'ã£ã¡ãã']; $attributes{birthday} = $mom->birthday - rand($mom->birthday - $dad->birthday); $attributes{blood_type} = Acme::BloodType->new( {phenotype => $mom->blood_type} )->cross( Acme::BloodType->new( {phenotype => $dad->blood_type})) ->get_bloodtype; $attributes{hometown} = (rand 1 < 0.5 ? $mom : $dad)->hometown; utf8::decode($attributes{hometown}); $attributes{graduate_date} = undef; $attributes{class} = int ($mom->class - rand($mom->class - $dad->class)); $attributes{emoticon} = [(@{$dad->emoticon||()}, @{$mom->emoticon||()})[0..rand 2]]; utf8::decode($_) for @{$attributes{emoticon}}; return %attributes; }
1; # End of Acme::MorningMusume::ShinMember