3DGrid

From Esolang
Jump to navigation Jump to search

3DGrid uses a 10 by 10 by 10 3d grid of numbers as a program. User:A() made it.

Commands

00 - nop
01 - move forwards
02 - move backwards
03 - move left
04 - move right
05 - move up
06 - move down
07 - Intersection
08 - make new Pointer, and make it move backwards
09 - add 1 to Pointer
10 - subtract 1 from pointer
11 - if Pointer A is greater than Pointer B, Pointer A keeps moving and Pointer B turns right, else Pointer B keeps moving, and Pointer A turns right
13 - output value of Pointer as an Ascii Char
14 - user input as an ascii value
15 - Add pointer value on the stack
16 - Pop (value)th item off the stack and that becomes the pointer value

Examples & How it works

Pointers are command Pointers and variables. Example:

08 00 00
14 00 00
13 00 00

The pointer has ascii value of whatever the user inputted.

When two pointers crash without an intersection command, the program outputs 'Pointer collision at: (x,y,z). User forgot to use the intersection command'.

Example:

08 00 08
04 00 03
00 00 00

Output:

Pointer collision at: (2,2,1). User forgot to use the intersection command or the compare commands.

All commands can be repersented blue and green channels that go from 0-9

Programs

Programs in this are extremely large, the main reason for this is the amount of empty space. So here are Ideas for programs.

truth machine

P1...I...+1  L..O
           P1>P2
P2...+49...  O