Track

Track is a two-dimensional esoteric programming language made by User:Wh1teWolf. It has a two-dimensional instruction area of 30x? instruction cells, and a one-dimensional memory array,

Commands:

 * > : "walking" direction is right
 * < : "walking" direction is left
 * ^ : "walking" direction is up
 * V : "walking" direction is down
 * @ : "walking" direction is decided by the number under pointer. 1=right, 2=left, 3=down, 4=up (All other numbers==right)
 * + : Add one to cell under pointer
 * - : Subtract one from cell under pointer
 * . : Output ascii character under pointer
 * : : Output number under pointer
 * , : Input ascii character in cell under pointer
 * ; : Input number under in cell pointer
 * 0-9: Move memory pointer to cell n

Infinite loop:
V< >^ This program shows how the "walking" direction stuff works. The first instruction is "V", making the program move down to the next line where there is a ">" instruction, this changes the "walking" direction to right. We go right one step where there is a "^" and are pointed up to the "<" instruction, this makes us go left to the starting point and so on...

Cat program
,.

Counting from 1 to 10:
V              V       < >1++++++++++++++>1-0+:1@^    This example could also be written like this (which is the best way of doing it): ++++++++++++++>0-1+:0@V ^      <

99 bottles of beer
3++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++  +++++++++++++++++++++++++++++  +++++++++++++++++0             +++++++++++++++++++++++++++++  +++++++++++++++++++++++++++++  +++++++++++++++++++++++++++++  ++++++++++++                   V                           0< >:1+++++++++++++++            +++++++++++++++++++++++++++++  ++++++++++++++++++++++.++++++  +++++++.+++++...-  --.++++++++++++++.2++++++++++  ++++++++++++++++++++++.1.  -.2.1.+++..++++++  +++++++.2.1---.-.2.1++++++.--  --.---.2.1+++++++++++  +++++++.-  -.+++++++++++..2++++++++++++.  .0:2.1--.  +++++++++++++.+++++..  .---.++++++++++++++.2.1--  --.-.2.1.+++..+++  ++++++++++.2++++++++++++++.--  4++++++++++.1++.-  --.++++++++++  .--.2.1++++++++++.-.-  .2.1-.+++++++++++.+++++++  +.-.2.1++.---  .++++++++++++++++++..2.1-  -.+++++++++++.2.1  ---.+++++++++++++  ++++.---.++++++.---.-  -.2++++++++++++.-  ---0-:2.1--.+++++++++++++.+++  ++...---.++++++++  ++++++.2.1.-.2.1-  ---.+++..+++++++++++++.2.1---  .-.2.1++++++..---  .2.1++++++++++++++++++.--  .+++++++++++.  .2++++++++++++++.  --4..--1---    V>V >3-@                        ^