From a5c540608c469a2797262facb766e175b932f0e2 Mon Sep 17 00:00:00 2001 From: Andinus Date: Tue, 19 Jan 2021 21:53:16 +0530 Subject: Re-structure for CPAN upload, include a dictionary file bin/octans calls lib/Octans/CLI.rakumod which has the MAIN subroutine. --- lib/Puzzle.rakumod | 56 ------------------------------------------------------ 1 file changed, 56 deletions(-) delete mode 100644 lib/Puzzle.rakumod (limited to 'lib/Puzzle.rakumod') diff --git a/lib/Puzzle.rakumod b/lib/Puzzle.rakumod deleted file mode 100644 index bf4f8c3..0000000 --- a/lib/Puzzle.rakumod +++ /dev/null @@ -1,56 +0,0 @@ -unit module Puzzle; - -use WWW; - -# get-puzzle returns the @puzzle along with it's @gray-squares. -sub get-puzzle ( - Str $url, - - # @puzzle will hold the puzzle grid. - @puzzle, - - # @gray-squares will hold the position of gray squares. Algot - # marks them with an asterisk ("*") after the character. - @gray-squares -) is export { - # $toot_url will hold the url that we'll call to get the toot data. - my Str $toot_url; - - # User can pass 2 types of links, either it will be the one when they - # view it from their local instance or the one they get from Algot's - # profile. We set $toot_url from it. - if $url.match("web/statuses") -> $match { - $toot_url = $match.replace-with("api/v1/statuses"); - } else { - $toot_url = "https://mastodon.art/api/v1/statuses/" ~ $url.split("/")[*-1]; - } - - # @gray-squares should be empty. - @gray-squares = (); - - # jget just get's the url & decodes the json. We access the - # description field of 1st media attachment. - if (jget($toot_url)[0] ~~ - - # This regex gets the puzzle in $match. - / [[(\w [\*]?) \s*] ** 4] ** 4 $/) -> $match { - - # We have each character of the puzzle stored in $match. It's - # assumed that it'll be a 4x4 grid. - for 0 .. 3 -> $y { - for 0 .. 3 -> $x { - with $match[0][($y * 4) + $x].Str.lc -> $char { - - # If it ends with an asterisk then we push the - # position to @gray-squares. - if $char.ends-with("*") { - @puzzle[$y][$x] = $char.comb[0]; - push @gray-squares, [$y, $x]; - } else { - @puzzle[$y][$x] = $char; - } - } - } - } - } -} -- cgit 1.4.1-2-gfad0