1
\$\begingroup\$

Inspired by Braille graphics and Build an analog clock, the goal of this is to build an analog clock using UTF-8 fonts \U2800: to \U28FF: .

00:[⠀] 01:[⠁] 02:[⠂] 03:[⠃] 04:[⠄] 05:[⠅] 06:[⠆] 07:[⠇] 08:[⠈] 09:[⠉] 0A:[⠊] 0B:[⠋]
0C:[⠌] 0D:[⠍] 0E:[⠎] 0F:[⠏] 10:[⠐] 11:[⠑] 12:[⠒] 13:[⠓] 14:[⠔] 15:[⠕] 16:[⠖] 17:[⠗] 
...
E4:[⣤] E5:[⣥] E6:[⣦] E7:[⣧] E8:[⣨] E9:[⣩] EA:[⣪] EB:[⣫] EC:[⣬] ED:[⣭] EE:[⣮] EF:[⣯] 
F0:[⣰] F1:[⣱] F2:[⣲] F3:[⣳] F4:[⣴] F5:[⣵] F6:[⣶] F7:[⣷] F8:[⣸] F9:[⣹] FA:[⣺] FB:[⣻] 
FC:[⣼] FD:[⣽] FE:[⣾] FF:[⣿] 
  • This clock could use HEIGHT and WIDTH variables, either submitted as arguments or by any way you may found simpler.

  • They must be upgraded every second!! Care of code efficiency!

  • The full circle of the clock is 1 point width (at 100% of ray, meaning ray could vary between horizontal and vertical ⣀⣀⠤⠤⠤⠒⠒⠒⠒⠉⠉ and ⢠⠃)

  • 12 hour ticks from 90% to 100% (of variable ray)

  • 60 minute ticks as single points located at 90%, but displayed only if width > 20.

  • Hours arm is drawn with 2 to 3 points width and ~45% of ray length; minutes arm is drawn with 2 to 3 points width and 77% length; and seconds arm is drawn with 1 point width and 88% length. So in a 50° angle, 2 to 3 points width could use up to 4 points horizontally and vertically ⠻⣷⣄.

  • Hours, minutes and seconds arms have to progress each second as regular analog clock.

There is an accelerated sample of what they could look like, in a 80x24 terminal window, shot between 09h17'00" and 09h18'00"

braille-clock-09h17-09h18.gif

Another sample in a small 20x10 window shot between 09h59 and 10h00:

braille-clock-tiny-09h59-10h00

This is code golf, so the shortest answer (in characters) wins.

\$\endgroup\$
  • 2
    \$\begingroup\$ I think you need to clarify exactly what is required for this to challenge to work as code golf. Remember that the goal for solvers is to save as many bytes as possible while meeting the specification however minimally or literally, with no value on how nice the output is, so solvers need to know just how much or little is required in their ASCII art output. \$\endgroup\$ – xnor May 12 at 8:33
  • \$\begingroup\$ @xnor I don't understand your comment... Clock must be drawable at any width and height, I think I did not miss something in requirement, Size of draw could be submited as argument, like: drawBrailleClock $COLUMNS $LINES. From there ray may vary between horizontal and vertical. size of path, tick and border is explained... \$\endgroup\$ – F. Hauri May 12 at 8:41
  • 1
    \$\begingroup\$ For instance, what characters should the outer circle be made of? What does something like "minute path are 2 point width" mean when it's tilted? For the challenge to be fully specified, one needs to be able to derive exactly what symbol is to displayed at each coordinate for any size. \$\endgroup\$ – xnor May 12 at 8:44
  • \$\begingroup\$ Ok, So in a 45° angle, 2 to 3 point witdh could use upto 4 points horizontaly and verticaly ⠻⣷⣄.... answer edited \$\endgroup\$ – F. Hauri May 12 at 9:03

Browse other questions tagged or ask your own question.