fork download
  1. \ Picture words give a flag based on x and y.
  2. 0 Value x 0 Value y \ 10000x fixed decimal.
  3.  
  4. : from-sq ( nn-n) swap - dup 10000 */ ;
  5. : disc ( rxy-f) y from-sq swap x from-sq + > ;
  6. : udisc ( -f) 10000 0 0 disc ;
  7.  
  8. : vert ( -f) x -1500 -6000 within ;
  9. : horz ( -f) y -2000 -4000 within ;
  10. : smash ( -f) udisc vert and horz and ;
  11.  
  12. : pair ( r-ff) dup 0 5000 disc swap 0 -5000 disc ;
  13. : wave ( -f) 2500 pair invert x 0< and or ;
  14. : eyes ( -f) 278 pair or ;
  15. : yinyang ( -f) udisc wave xor eyes xor ;
  16.  
  17. : pit ( -f) x 6000 2000 within y 2000 < or ;
  18. : pit+ ( f-f) pit and x negate y to x to y ;
  19. : manji ( -f) true pit+ pit+ pit+ pit+ ;
  20.  
  21.  
  22. \ Emit UTF-8 for Braille U+28XX, given XX.
  23. : emitb8 ( c-) ?dup-0=-IF $40 THEN $E2 emit
  24. dup 6 rshift $A0 or emit $3F and $80 or emit ;
  25.  
  26. : c,, 0 do c, loop ; \ Bit dot pos: 0 3
  27. : Dots ( -;i-c) Create does> + c@ ; \ 1 4
  28. Dots dr 3 3 2 1 0 2 1 0 8 c,, \ 2 5
  29. Dots dc 1 0 1 1 1 0 0 0 8 c,, \ 6 7
  30.  
  31. \ Compute pic x/y from screen row/col/dot.
  32. 0 Value r 0 Value c 0 Value d Defer pic ( -f)
  33. 12 Constant hgt hgt 2* Constant wid
  34. : >y ( -) 4 r * d dr + -5000 hgt */ 10000 + to y ;
  35. : >x ( -) 2 c * d dc + 10000 wid */ 10000 - to x ;
  36. : dotbit ( -c) >y >x pic 1 and d lshift ;
  37. : calcb8 ( -c) 0 8 0 DO i to d dotbit or LOOP ;
  38. : line ( -) wid 0 DO i to c calcb8 emitb8 LOOP ;
  39. : 3pic ( -xxx) ['] smash ['] yinyang ['] manji ;
  40. : 3line ( xxx-) 3 0 DO is pic line 2 spaces LOOP ;
  41. : 3draw ( -) hgt 0 DO i to r cr 3pic 3line LOOP ;
  42. 3draw
  43.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡀⡀⡀⡀⢸⣿⣿⣿⣿  ⣿⣿⣿⣿⣿⣿⡿⠟⠛⠉⠉⠉⡀⡀⠐⠢⣤⣀⡀⡀⡀⡀⡀⡀  ⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⢰⣶⣶⣶⣶⣦⣤⣀⡀⡀⡀⡀⡀⡀  
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡀⡀⡀⡀⢸⣿⣿⣿⣿  ⣿⣿⣿⣿⠟⠁⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⠈⢻⣿⣦⡀⡀⡀⡀  ⡀⡀⡀⡀⣠⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⡀⡀⡀  
⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⣿⣿⣿⣿⡇⡀⡀⡀⡀⢸⣿⣿⣿⣿  ⣿⣿⠟⠁⡀⡀⡀⡀⡀⡀⢠⣶⣷⣦⡀⡀⡀⡀⣿⣿⣿⣦⡀⡀  ⡀⡀⣠⣾⣿⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⡀  
⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⣿⣿⣿⣿⡇⡀⡀⡀⡀⢸⣿⣿⣿⣿  ⣿⠏⡀⡀⡀⡀⡀⡀⡀⡀⠹⣿⣿⡿⠁⡀⡀⡀⣿⣿⣿⣿⣷⡀  ⡀⣰⣿⣿⣿⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀  
⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⣿⣿⣿⣿⡇⡀⡀⡀⡀⢸⣿⣿⣿⣿  ⡟⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⠁⡀⡀⡀⡀⣰⣿⣿⣿⣿⣿⣧  ⢠⣿⣿⣿⣿⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧  
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  ⡇⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿  ⢸⣿⣿⣿⣿⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  ⡇⡀⡀⡀⡀⡀⡀⡀⢀⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  ⢸⣿⣿⣿⣿⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  
⣿⣿⣿⣿⣿⠉⠉⠉⠉⠉⣿⣿⣿⣿⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉  ⣇⡀⡀⡀⡀⡀⡀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿  ⠈⠉⠉⠉⠉⡀⡀⡀⡀⡀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉  
⣿⣿⣿⣿⣿⡀⡀⡀⡀⡀⣿⣿⣿⣿⡇⡀⡀⡀⡀⡀⡀⡀⡀⡀  ⣿⡄⡀⡀⡀⡀⢸⣿⣿⣿⡟⠉⠈⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃  ⡀⢠⣤⣤⣤⡀⡀⡀⡀⡀⢠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⡀  
⣿⣿⣿⣿⣿⡀⡀⡀⡀⡀⣿⣿⣿⣿⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀  ⣿⣿⣄⡀⡀⡀⢸⣿⣿⣿⣆⡀⡀⢀⣾⣿⣿⣿⣿⣿⣿⡿⠃⡀  ⡀⡀⠻⣿⣿⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⡀  
⣿⣿⣿⣿⣿⡀⡀⡀⡀⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  ⣿⣿⣿⣷⣄⡀⠈⢿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⡿⠋⡀⡀⡀  ⡀⡀⡀⠈⠻⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⡀⡀⡀  
⣿⣿⣿⣿⣿⡀⡀⡀⡀⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿  ⣿⣿⣿⣿⣿⣷⣦⣄⣙⠿⣿⣿⣿⣿⣿⡿⠿⠛⠉⡀⡀⡀⡀⡀  ⡀⡀⡀⡀⡀⡀⡀⡀⡀⡀⢸⣿⣿⣿⣿⡿⠿⠛⠉⡀⡀⡀⡀⡀