about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2021-11-24 11:15:04 +0530
committerAndinus <andinus@nand.sh>2021-11-24 11:19:02 +0530
commit3e34087a6032d1e9d34731c09265e4061f0b30ff (patch)
tree65eaaac6ea245ac3f684e16e6824618c3689b6cd
parentae3b3ca0ca9fd3b8ec0aa5da84dc2276b398bbfd (diff)
downloadfornax-3e34087a6032d1e9d34731c09265e4061f0b30ff.tar.gz
raku/DFS: Detect starting point, Tweak colors for GenerateFrame
-rw-r--r--algorithms/raku/DFS.raku7
-rw-r--r--lib/Fornax/GenerateFrame.rakumod8
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 <Walking Blocked Completed>;
 
 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<red-subtle-bg>, 0.96 if $status == Blocked;
                     }
                     when $cell eq $VIS {
-                        .rgba: |%C<cyan-subtle-bg>, 0.72;
+                        .rgba: |%C<cyan-subtle-bg>, 0.84;
                     }
-                    when $cell eq $BLOK { .rgba: |%C<fg-main>, 0.56 }
+                    when $cell eq $BLOK { .rgba: |%C<fg-main>, 0.48 }
                     when $cell eq $STRT|$DEST { .rgba: |%C<fg-special-mild>, 0.72 }
                     default { .rgba: |%C<fg-main>, 0.08 }
                 }