Ice box

From Esolang
Jump to navigation Jump to search

Ice box is a 2D esolang (like Befunge) created by User:AnotherUser05, where instead of a cursor, there are ice boxes going around the code.

Command Description
> Redirects the ice box to go right.
< Redirects the ice box to go left.
v Redirects the ice box to go down.
^ Redirects the ice box to go up.
{ Select the previous stored value.
} Select the next stored value.
[ If the current stored value is equal to the previous one, then jump over to the next ], else continue.
] Paired with [.
( Jump to the next ) no matter what.
) Paired with (.
" Declares a string, assuming that it's enclosed.
~ Stores the most recent declared string as a value.
+ Add one to the current stored value, assuming it's a number.
- Removes one from the current stored value, assuming it's a number.
/ Swap the current stored value with the next one.
\ Swap the current stored value with the previous one.
? Generates a random number between 0 and the current stored value, then stores the random number.
# Wall.
@ Spawns an ice box when the program starts. Every program must have at least one of these.
% Creates an empty ice box at every @.
$ Creates an ice box where the stored values carries over at every @.
; Get an input and then store the value.
: Output the current stored value.
_ Combines the current stored value with the previous one.
x Deletes the ice box.

Examples

Hello World Program

@"Hello, World!"~:x

Number Guessing Game

@"100"~?>"guess number..."~:;}v
                              >[v]"you guessed it!"~}:x
        ^   :}~"that wasn't it!"<

Cat Program

@;:

Not Finite Loops

NF Loop #1

>)@(<

NF Loop #2

@%x

How useful are the walls? I have no idea.

@    v
       
@     #
      
     x

Truth Machine

@;"0"~}[v]:x
      >:<

Fixed Repeating Output

@"0"~;"1"~}v
           >-}:{v
       x:{]^   [<

Also see