aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Octans/CLI.rakumod
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2021-03-02 23:55:59 +0530
committerAndinus <andinus@nand.sh>2021-03-02 23:57:54 +0530
commitedf8a7290888977ff0bc625f02a81abbc37fb984 (patch)
treece9bf475eea0a423aff9852875413f4d89989581 /lib/Octans/CLI.rakumod
parentb88fb075c4485154f72fb72354f8bf8004d71f72 (diff)
downloadoctans-edf8a7290888977ff0bc625f02a81abbc37fb984.tar.gz
Re-structure code
These changes should make it easier to read the code.
Diffstat (limited to 'lib/Octans/CLI.rakumod')
-rw-r--r--lib/Octans/CLI.rakumod35
1 files changed, 19 insertions, 16 deletions
diff --git a/lib/Octans/CLI.rakumod b/lib/Octans/CLI.rakumod
index 3e15dcf..744fba8 100644
--- a/lib/Octans/CLI.rakumod
+++ b/lib/Octans/CLI.rakumod
@@ -30,12 +30,13 @@ multi sub MAIN (
# set-gray-squares also removes asterisks from @puzzle.
@gray-squares = set-gray-squares(@puzzle); # ($y, $x)
- if $verbose {
+ if so $verbose {
# Don't print path if using the dictionary included with the
# program.
- say "Dictionary: ", $dict.Str
- unless ($dict.Str
- eq %?RESOURCES<mwords/354984si.ngl>.Str);
+ unless $dict.Str eq %?RESOURCES<mwords/354984si.ngl>.Str {
+ say "Dictionary: " ~ $dict.Str;
+ }
+
say "Gray squares: ", @gray-squares;
say "Puzzle";
" $_".say for @puzzle;
@@ -54,7 +55,7 @@ multi sub MAIN (
# gather all the words that word-search finds starting from
# $pos.
- for gather word-search(
+ word: for gather word-search(
@dict, @puzzle, $pos[0], $pos[1],
) -> (
# word-search returns the word along with @visited which
@@ -62,24 +63,26 @@ multi sub MAIN (
# word was found.
$word, @visited
) {
- # Print the word, along with the time taken (if $verbose).
- say ($verbose
- ?? "\n" ~ $word ~ " [" ~ DateTime.now - $initial ~ "𝑠]"
- !! $word);
+ # If not $verbose then print the word.
+ unless so $verbose {
+ say $word;
+ next word;
+ }
+
+ # Print the word, along with the time taken.
+ say "\n" ~ $word ~ " [" ~ DateTime.now - $initial ~ "𝑠]";
# Print the puzzle, highlighting the path.
- if $verbose {
- for ^@puzzle.elems -> $y {
- print " " x 3;
- for ^@puzzle[$y].elems -> $x {
- print " ", (
+ for ^@puzzle.elems -> $y {
+ print " " x 3;
+ for ^@puzzle[$y].elems -> $x {
+ print " " ~ (
@visited[$y][$x]
?? (%π’»π’Άπ“ƒπ’Έπ“Ž-π’Έπ’½π’Άπ“‡π“ˆ{@puzzle[$y][$x]} // @puzzle[$y][$x])
!! @puzzle[$y][$x]
);
- }
- print "\n";
}
+ print "\n";
}
}
}