Cuboid

From Esolang
Jump to navigation Jump to search

Cuboid is created by User:Username1234 in Aug, 2022.

Code Format

    +-----+
   /     /|
  /     / |
 /     /  |
+-----+   +
|     |  /   
|     | /
|     |/
+-----+

You can use |,/,-,+ to create a cuboid like the one on the top.

We define the length of the cube is 5 (the length of the - edges), the width is 3 (the length of the / edges) and the height is 3 (the length of the | edges). So, this cube represents the number 3×3×5=45, which is - in ASCII. So, you should print out -.

A programme contains lots of cuboids and none of them are overlapping. The programme must run left-to-right and up-to-down (for the cuboids).

Example

Hello, World!

    +--------+
   /        /|
  /        / |
 /        /  |
+--------+   +
|        |  /
|        | /
|        |/
+--------+
  +-----------------------------------------------------------------------------------------------------+
 /                                                                                                     /|
+-----------------------------------------------------------------------------------------------------+ +
|                                                                                                     |/
+-----------------------------------------------------------------------------------------------------+
     +---------+      +---------+
    /         /|     /         /|
   /         / |    /         / |
  /         /  |   /         /  |  +-------------------------------------+    +-----------+
 /         /   +  /         /   + /                                     /|   /           /|
+---------+   /  +---------+   / +-------------------------------------+ |  /           / |
|         |  /   |         |  /  |                                     | | +-----------+  +
|         | /    |         | /   |                                     | + |           | /
|         |/     |         |/    |                                     |/  |           |/
+---------+      +---------+     +-------------------------------------+   +-----------+
   +----+
  /    /|
 /    / |   +-----------------------------+   +-------------------------------------+
+----+  |  /                             /|  /                                     /|
|    |  | +-----------------------------+ | +-------------------------------------+ |
|    |  + |                             | | |                                     | |
|    | /  |                             | + |                                     | +
|    |/   |                             |/  |                                     |/
+----+    +-----------------------------+   +-------------------------------------+
    +-------------------+      +---------+      +-----+   +-----------+
   /                   /|     /         /|     /     /|  /           /|
  /                   / |    /         / |    /     / | +-----------+ |
 /                   /  +   /         /  |   /     /  | |           | |
+-------------------+  /   /         /   +  /     /   | |           | +
|                   | /   +---------+   /  +-----+    | |           |/
|                   |/    |         |  /   |     |    + +-----------+
+-------------------+     |         | /    |     |   /
                          |         |/     |     |  /
                          +---------+      |     | /
                                           |     |/
                                           +-----+

Implementation

Interpreter