From 3e34087a6032d1e9d34731c09265e4061f0b30ff Mon Sep 17 00:00:00 2001 From: Andinus Date: Wed, 24 Nov 2021 11:15:04 +0530 Subject: raku/DFS: Detect starting point, Tweak colors for GenerateFrame --- algorithms/raku/DFS.raku | 7 ++++++- lib/Fornax/GenerateFrame.rakumod | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/algorithms/raku/DFS.raku b/algorithms/raku/DFS.raku index 0cc7207..092b24b 100644 --- a/algorithms/raku/DFS.raku +++ b/algorithms/raku/DFS.raku @@ -14,7 +14,12 @@ sub MAIN(File $input) { die "Inconsistent maze" unless [==] @maze.map(*.elems); put "rows:{@maze.elems} cols:{@maze[0].elems}"; - dfs(@maze, 0, 0); + for 0..@maze.end -> $y { + for 0..@maze[0].cache.end -> $x { + dfs(@maze, $y, $x) if @maze[$y][$x] eq "^"; + } + } + die "Cannot solve maze"; } sub dfs( diff --git a/lib/Fornax/GenerateFrame.rakumod b/lib/Fornax/GenerateFrame.rakumod index e19d342..26cf97d 100644 --- a/lib/Fornax/GenerateFrame.rakumod +++ b/lib/Fornax/GenerateFrame.rakumod @@ -30,8 +30,8 @@ constant %C = ( enum IterStatus ; sub generate-frame( - :%CANVAS, :$out, :%excess, :$side, :%meta, :$iter is copy - , :$idx, :$debug, + :%CANVAS, :$out, :%excess, :$side, :%meta, :$iter is copy, + :$idx, :$debug, ) is export { my IterStatus $status; given $iter.substr(0, 1) { @@ -82,9 +82,9 @@ sub generate-frame( .rgba: |%C, 0.96 if $status == Blocked; } when $cell eq $VIS { - .rgba: |%C, 0.72; + .rgba: |%C, 0.84; } - when $cell eq $BLOK { .rgba: |%C, 0.56 } + when $cell eq $BLOK { .rgba: |%C, 0.48 } when $cell eq $STRT|$DEST { .rgba: |%C, 0.72 } default { .rgba: |%C, 0.08 } } -- cgit 1.4.1-2-gfad0