The Xerox Alto, originally released in 1973, was the first computer to feature the now-familiar angled mouse pointer. The Alto's bitmapped pointer looked like this (redrawn from Fig. 2 here):
Your task in this code-golf challenge is to write a program/function that generates an ASCII art representation of the mouse pointer pictured above. Rules:
- Input is a positive integer \$n\$, which is a scaling factor for the output.
- Represent each black pixel as an \$n\times{}n\$ block of any single printable character. (The test cases use
@
, which vaguely resembles a mouse viewed from above.) - Similarly, represent each empty pixel to the bottom/left of the pointer as an \$n\times{}n\$ block of a second printable character. (Spaces are used in the test cases.)
- Optionally, your output may also include the empty pixels to the top/right of the pointer, represented by the same character chosen under Rule 3.
- Any sensible output format (e.g. multi-line string, array of strings, matrix of characters) is acceptable.
- A single trailing newline at the end of the output is permitted.
Test cases
\$n = 1\$
@
@@
@@@
@@@@
@@@@@
@@@@@@
@@@@@@@
@@@@
@@ @@
@ @@
@@
@@
@@
@@
@@
@@
\$n = 2\$
@@
@@
@@@@
@@@@
@@@@@@
@@@@@@
@@@@@@@@
@@@@@@@@
@@@@@@@@@@
@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@@@
@@@@@@@@@@@@@@
@@@@@@@@
@@@@@@@@
@@@@ @@@@
@@@@ @@@@
@@ @@@@
@@ @@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
@@@@
\$n = 3\$
@@@
@@@
@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@@@@
@@@@@@@@@
@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@ @@@@@@
@@@@@@ @@@@@@
@@@@@@ @@@@@@
@@@ @@@@@@
@@@ @@@@@@
@@@ @@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
@@@@@@
1 0 0 0 0 0 0 0\n1 1 0 0 0 0 0 0\n...
. \$\endgroup\${{1, 0}, {0, 1}}
). They can also be represented asSparseArray
objects, which are interchangable with such matrices in most cases. Are either of these two forms acceptable output? \$\endgroup\$SparseArray
pushes the boundaries a little too far for my liking. \$\endgroup\$