Commits

Shlomi Fish committed dfc9b7b

More refactoring of _gen_clue_positions.

  • Participants
  • Parent commits 101bdf9

Comments (0)

Files changed (1)

abc-path/Games-ABC_Path-Generator/lib/Games/ABC_Path/Generator.pm

 
 =cut
 
+sub _gen_clue_positions {
+    my ($cb) = @_;
+    return [map { $cb->($_) } (0 .. $LEN-1)];
+};
+
 my @_clues_positions =
 (
     map {
         [map { __PACKAGE__->_xy_to_int($_) } @{$_}]
     }
     (
-        [ map { [$_,$_] } (0 .. $LEN-1) ],
-        [ map { [$_,4-$_] } ( 0 .. $LEN-1) ],
-        (
-            map { my $y = $_; 
-            [ map { [$y,$_] } (0 .. $LEN-1) ] 
-            } (0 .. $LEN-1)
-        ),
-        (
-            map { my $x = $_;
-            [ map { [$_,$x] } (0 .. $LEN-1) ] 
-            } (0 .. $LEN-1)
-        ),
+        _gen_clue_positions(sub { [$_,$_];   }),
+        _gen_clue_positions(sub { [$_,4-$_]; }),
+        (map { my $y = $_; _gen_clue_positions(sub { [$y,$_] }); }
+            (0 .. $LEN-1)),
+        (map { my $x = $_; _gen_clue_positions(sub { [$_,$x] }); }
+            (0 .. $LEN-1)),
     )
 );