aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2023-01-16 09:51:13 +0100
committerLuca Ferrari <fluca1978@gmail.com>2023-01-16 10:17:30 +0100
commitbc210de1838b13167645ae1419889b64ad132e1d (patch)
tree1f18a90013422e5fb36ed33eb42db090cfaf63af
parent9e638419327ceacef7cb2d571aed2750d533b1d7 (diff)
downloadperlweeklychallenge-club-bc210de1838b13167645ae1419889b64ad132e1d.tar.gz
perlweeklychallenge-club-bc210de1838b13167645ae1419889b64ad132e1d.tar.bz2
perlweeklychallenge-club-bc210de1838b13167645ae1419889b64ad132e1d.zip
Task 2 done
-rw-r--r--challenge-200/luca-ferrari/raku/ch-2.p6125
1 files changed, 125 insertions, 0 deletions
diff --git a/challenge-200/luca-ferrari/raku/ch-2.p6 b/challenge-200/luca-ferrari/raku/ch-2.p6
new file mode 100644
index 0000000000..a2a993b395
--- /dev/null
+++ b/challenge-200/luca-ferrari/raku/ch-2.p6
@@ -0,0 +1,125 @@
+#!raku
+
+#
+# Perl Weekly Challenge 200
+# Task 2
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-200/>
+#
+
+sub MAIN( Int $value = 200, Bool :$sign = False ) {
+
+ my @sign = [
+ [ ' ',
+ ' ',
+ ' ',
+ ' ----- ',
+ ' ',
+ ' ',
+ ' ',
+ ],
+ [ ' ',
+ ' ',
+ ' | ',
+ ' ----- ',
+ ' | ',
+ ' ',
+ ' ',
+ ],
+ ];
+
+ my @lcd = [
+ [ ' -------- ',
+ '| |',
+ '| |',
+ '| |',
+ '| |',
+ '| |',
+ ' -------- ',
+ ],
+ [ ' ',
+ ' |',
+ ' |',
+ ' |',
+ ' |',
+ ' |',
+ ' ',
+ ],
+ [ ' ------ ',
+ ' |',
+ ' |',
+ ' ------ ',
+ '| ',
+ '| ',
+ ' ------ ',
+ ],
+
+ [ ' ------ ',
+ ' |',
+ ' |',
+ ' ------ ',
+ ' |',
+ ' |',
+ ' ------ ',
+ ],
+
+ [ '| |',
+ '| |',
+ '| |',
+ ' ------ ',
+ ' |',
+ ' |',
+ ' ',
+ ],
+ [ ' ------ ',
+ '| ',
+ '| ',
+ ' ------ ',
+ ' |',
+ ' |',
+ ' ',
+ ],
+ [ ' ------ ',
+ '| ',
+ '| ',
+ ' ------ ',
+ '| |',
+ '| |',
+ ' ------ ',
+ ],
+
+ [ ' -------',
+ ' |',
+ ' |',
+ ' | ',
+ ' |',
+ ' |',
+ ' ',
+ ],
+
+ [ ' -------- ',
+ '| |',
+ '| |',
+ ' ------- ',
+ '| |',
+ '| |',
+ ' -------- ',
+ ],
+
+ [ ' -------- ',
+ '| |',
+ '| |',
+ ' ------- ',
+ ' |',
+ ' |',
+ ' -------- ',
+ ],
+
+
+ ];
+
+ my @display;
+ @display.push: @sign[ $value > 0 ?? 1 !! 0 ] if ( $value < 0 || $sign );
+ @display.push: |@lcd[ $value.comb ];
+ ( [Z] |@display ).join( "\n" ).say;
+}