From edf8a7290888977ff0bc625f02a81abbc37fb984 Mon Sep 17 00:00:00 2001 From: Andinus Date: Tue, 2 Mar 2021 23:55:59 +0530 Subject: Re-structure code These changes should make it easier to read the code. --- lib/Octans/CLI.rakumod | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'lib/Octans/CLI.rakumod') 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.Str); + unless $dict.Str eq %?RESOURCES.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"; } } } -- cgit 1.4.1-2-gfad0