further refactoring. fixing DRY

master
Rachel Fae Fox (foxiepaws) 2021-10-19 15:28:39 -04:00
parent df4078a643
commit 39983f5c56
1 changed files with 12 additions and 31 deletions

View File

@ -159,37 +159,18 @@ Catalyst Controller.
=cut
sub gen_der {
my @g;
for my $gender (keys %genders) {
for (my $x = 0; $x <= ($genders{$gender} * 10); $x++) {
push @g, $gender;
}
}
return shuffle @g;
}
sub gen_races {
my %races = @_;
my @r;
for my $k (keys %races) {
my $v = $races{$k};
# generates a random array using the probabilities in the list
sub gen_array {
my %list = @_;
my @a;
for my $k (keys %list) {
my $v = $list{$k};
for (1..$v*10) {
push @r, $k;
push @a, $k;
}
}
return shuffle @r;
}
sub gen_classes {
my %classes = @_;
my @c;
for my $class (keys %classes) {
for (my $x = 0; $x <= ($classes{$class} * 10); $x++) {
push @c, $class;
}
}
return shuffle @c;
return shuffle @a;
}
sub randomlist($$$) {
@ -197,11 +178,11 @@ sub randomlist($$$) {
my %races = %{shift()};
my %classes = %{shift()};
my @r = gen_races(%races);
my @c = gen_classes(%classes);
my @g = gen_der();
my @r = gen_array(%races);
my @c = gen_array(%classes);
my @g = gen_array(%genders);
my @characters;
for (my $x = 0; $x < 10; $x++) {
for (my $x = 0; $x < $count; $x++) {
my $race = $r[int(rand(scalar @r))];
my $gender = $g[int(rand(scalar @g))];
my $class = $c[int(rand(scalar @c))];