19 lines
506 B
Text
19 lines
506 B
Text
3 elements d h w
|
|
|
|
: spaces ( n- ) &space times ;
|
|
: --- ( - ) '+ putc @w 2 * [ '- putc ] times '+ putc ;
|
|
: ? ( n- ) @h <> [ '| ] [ '+ ] if ;
|
|
: slice ( n- ) '/ putc @w 2 * spaces '/ putc @d swap - dup spaces ? putc cr ;
|
|
: |...|/ ( - ) @h [ '| putc @w 2 * spaces '| putc 1- spaces '/ putc cr ] iterd ;
|
|
: face ( - )
|
|
--- @w 1+ spaces '/ putc cr
|
|
|...|/
|
|
--- cr ;
|
|
|
|
: cuboid ( whd- )
|
|
!d !h !w cr
|
|
@d 1+ spaces --- cr
|
|
@d [ dup spaces slice ] iterd
|
|
face ;
|
|
|
|
2 3 4 cuboid
|