We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Oceanfunge

From Esolang
Jump to navigation Jump to search

Oceanfunge by User:Cordership is an esolang based on dolfins grace.

Syntax

/ mirror 90 degrees
\ mirror 90 degrees
| mirror 180 degrees (horizontal)
_ mirror 180 degrees (vertical)
r mirror 180 degrees all directions
@ stab dolfin
~ puts user's character into stack
& puts user's integer into stack
! dolfin treats it like "/" if top is 0, goes through if not 0.
? dolfin treats it like "\" if top is 0, goes through if not 0.
a dolfin treats it like "r" if top is 0, goes through if not 0.
- pop values a and b, push b-a
+ pop values a and b, push a+b
* pop values a and b, push a*b
` pop values a and b, push b/a rounded down
% pop values a and b, push b%a
^ pop values a and b, push b^a
" toggle stringmode from befunge
; dolfin goes random direction
= duplicate top stack value
( rotate top 3 clockwise
) swap top 2
. pop top and output as integer
$ pop top and discard
, pop top and output as ascii
g get command
p put command
k dolfin eater
0-9 put corresponding number on stack
{ diode (dolfin gets stabbed if coming in from left)
} diode (same as above but for right)
' 180 reflector
[ dolfin treats it as "/" if the top 2 of stack are not same, otherwise it goes through
>v<^ turn dolfin to given direction
! all-directions if from gridify
a pop top, push it into ctrl stack
b reverse of a
c pop values a and b, push b a times
d pop everything and output as integer
e pop everything and output as ascii
f pass through once, then act as "/"
G pass through once, then act as "\"
h pass through once, then act as "r"
i skip command ahead of it in dolfin's current direction

Examples

Hello, World!

"!dlroW ,olleH"ek

Cat program

f~\
\,/

4-function calculator

"rotaluclac"e&&&=?1-=?1-=?1-=?1-=?k
                 k   +   -   *   /
                     .   .   .   .
                     k   k   k   k

FizzBuzz

45*5*1+0)f=3%?$=5%?=.=      \
             $    \$aa"zzuB"v
             =
             5
             %
             ?$"zziF"       v
             \$"zzuBzziF"   v
         \           )?=-1)e<
                      @