TileDots

From Esolang
Jump to navigation Jump to search

TileDots is a language created by User:WoodyFan3412 in September of 2024, it's set on a 256x256 grid where each cell can either be blank, or one of 41 different cell types. When the program starts various dots are spawned where any starting cells are, dots can move along the grid and interact with tiles, in "Commands" there's a list of instructions that can manipulate dots in various ways.
TileDots's name and functions are partly inspired by AsciiDots

Commands

Each tile can be assigned a "tag" which can be a string or a number.

When there are no dots left in the program, it ends.

Command Name Function
Start Dictates where any "dots" start when the program is ran, multiple of these can be placed at once.
Track Functions as a track a dot can move along.
Left Sets the dot's direction to left.
Right Sets the dot's direction to right.
Up Sets the dot's direction to up.
Down Sets the dot's direction to down.
Stop Deletes the dot.
Call Function Jumps to the corresponding function in the program.
Function Defines where the function should start, any dots calling this function gets teleported here.
Return Jumps to where the dot was when it called the function
Comment Just a code comment, the tag of the cell acts as the comment.
Constant Sets the dot's value to whatever the cell's tag is.
Dupe Any dot coming from above will get duplicated to the right.
Printer Prints the dot's current value to the console.
Clearer Clears the console.
Input Asks the user for input and sets the dot's value to the input.
Join Joins 2 strings together, where A is the dot's value and B is the tag.
Set Sets the variable with the name of the tile's tag to the dot's value, if it doesn't exist a new one is created.
Get Gets the variable with the name of the tile's tag and sets the dot's value to it.
Increment Increments the variable with the tile's tag by one.
Decrement Decrements the variable with the tile's tag by one.
Equals If the value of the dot is equal to the tile's tag then the dot's direction is set to down.
Greater than If the value of the dot is greater than the tile's tag then the dot's direction is set to down.
Less than If the value of the dot is less than the tile's tag then the dot's direction is set to down.
Not Equals If the value of the dot is not equal to the tile's tag then the dot's direction is set to down.
And If the value of the dot and the tile's tag is above zero than the dot's direction is set to down.
Or If the value of the dot or the tile's tag is above zero than the dot's direction is set to down.
Xor If either the value of the dot or the tile's tag (not both) is above zero than the dot's direction is set to down.
Nor If neither the value of the dot or the tile's tag is above zero then the dot's direction is set to down.
+ Adds the tile's tag to the dot's value.
- Subtracts the tile's tag from the dot's value.
* Multiplies the dot's value by the tile's tag.
/ Divides the dot's value by the tile's tag.

Programs

This is a list of test programs made in TileDots. Why am I using galleries for this?

Computational class

This language might be Turing-complete if the grid were infinite.