TileDots

TileDots is a language created by User:WoodyFan3412 in September of 2024, it's set on a 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.
The size of the grid in TileDots can be set by the user, usually it would be 256x256 or 64x64.
Link to the TileDots IDE: https://cheeselover69.itch.io/tiledots-ide
== Commands ==
Each tile can be assigned a "tag" which can be a string or a number.
TileDots's name and functions are partly inspired by AsciiDots.
TileDots graphics.png|Every tile from left to right has a graphic, for example the "stop" tile is a red square with an X on it.
TIleDots_example2.png|This demonstrates a dot moving along a track, the arrows dictate where the dot should turn.
TileDots example1.png|The "Constant" tile has a tag assigned to it, the tag is displayed in green text above the tile.
If any dot moves over a blank space where there's no tiles, it gets deleted.
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.
Bridge 	Skips the next instruction.
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 	A code comment.
Constant 	Sets the dot's value to whatever the cell's tag is.
Dupe 	If a dot comes in then it duplicates the dots in all 4 directions except the one it came from.
Print 	Prints the dot's current value to the console.
Clear 	If the tile has a tag assigned to it, delete that line of the console, otherwise clear the entire 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.
% 	Mods the dot's value by the tile's tag.
== Console ==
In TileDots you can clear the console, remove a certain line from the console, or print something to the console, the console can be used for output and can also be used for stacks.
== Programs ==
This is a list of test programs made in TileDots.
TileDots program1.png|A hello world program, it sets the dot's value to "Hello World!", and then outputs it.
TileDots program2.png|A Cat Program, it takes input and then prints it to the console, this also demonstrates how to do loops.
TileDots program3.png|A Truth Machine, it gets the input and checks if it's equal to 1, if so then print 1 in a loop, otherwise just print 0 once.
TileDots program4.png|Demonstration of function calling, the function has to have a @ prefix, it gets input and then returns, exiting the program, functionally the same as a cat program.
TileDots example5.png|This sets the dot's value to "Hello" and duplicates it, causing "Hello" to be printed to the console twice.
== Computational class ==
This language might be Turing-complete if the grid were infinite.
Category:Languages Category:2024 Category:Cell-based Category:Usability unknown Category:Two-dimensional languages Category:Non-textual