Adofaiscript
- This is still a work in progress. It may be changed in the future.
Adofaiscript is an esolang created by User:Ϫ that is intended to be playable as an A Dance of Fire and Ice level.
Syntax
In Adofaiscript, all programs are a series of angles written in degrees. These are then converted into a track similar to Adofai levels. Specific patterns and loops are recognized as commands. The program ends naturally at the end of the program. Additionally, there are different symbols that can be appended to tiles via the format [angle]:[symbol]
There are 3 stacks: Fire, Ice and Wind [Global]. In the real game, the Fire and Ice planets orbit each other in turn. Every tile is landed on by either the Fire or Ice planet in an alternating pattern. For the purposes of Adofailang, every code level starts with Fire touching the first tile. If a command finishes on the Fire planet, it will act upon the Fire stack. If it finishes on the Ice planet, it will act upon the Ice stack. Certain commands can send items to the Wind stack as well, and via a tri-planet [see Commands: Tile-appended], it can get its own planet as well.
Commands
Tile-appended
Symbol Adofai equivalent Command [ Rabbit Start a loop section. ] Snail End a loop section. { Double Rabbit Start a print section. } Double Snail End a print section. @ Twirl If the top value of the stack is 0, skip the next instruction. 3 Tri-planet Tri-planet. Instead of the stacks alternating Fire-Ice-Fire-Ice, Wind is added in. Whatever tile this is hit on, the next tile is hit by the Wind planet. 2 Tri-planet end Ends the Tri-planet state.
Pattern-signaled
Please note that angles in curly braces are optional and only serve to separate them from other patterns.
Pattern Command 90-90-90-90 Output the top of the stack as a number. 135-135-90 Send the top item of the stack to the Global [Wind] stack. 90-135-135 Send the top item of the Global [Wind] stack to the stack. {180}-90-90-{180} Add the top two items of the stack together. 360 Flip the sign of the top item of the stack. 270-270-270-270 Push the next item of numeral input to the stack. {180}-270-270-{180} Divide the top item of the stack in half. ================PLEASE DO NOT TOUCH, WIP================
Programs
+1
180:{-1-180:}-270-270-270-270-90-90-90-90