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.
Ideadfish
Jump to navigation
Jump to search
Ideadfish is an image version of Deadfish, with char output and operates on a 8 bit accumulator, created by User:None1, overflow and underflow wraps around.
Commands
All ideadfish programs are RGB (or RGBA, but the alpha channel will be ignored in that case), images, its height must be 1, every pixel is a command (pixels that are not in the tables are NOPs.
Here are the commands in ideadfish
| Ideadfish (color) | Deadfish | RGB (HTML) | Note |
|---|---|---|---|
| i | #7F0000 | - | |
| d | #007F7F | - | |
| s | #00007F | - | |
| o | #7F7F7F | - | |
| - | #007F00 | Switches output mode of the |
Example Programs
Hello World
Interpreters
Python
Here is a Python interpreter using the Python Imaging Library and NumPy.
from PIL import Image
import numpy as np
import sys
if len(sys.argv)!=2:
print('must pass one file as command line argument')
sys.exit(1)
fn=sys.argv[1]
im=Image.open(fn)
if im.size[1]!=1:
print('height must be 1')
sys.exit(2)
if im.mode not in ['RGB','RGBA']:
print('mode must be RGB or RGBA')
sys.exit(3)
im=im.convert('RGB')
a=np.array(im)
x=0
mode=True
I=np.array([127,0,0],dtype=np.uint8)
d=np.array([0,127,127],dtype=np.uint8)
s=np.array([0,0,127],dtype=np.uint8)
o=np.array([127,127,127],dtype=np.uint8)
c=np.array([0,127,0],dtype=np.uint8)
for i in a[0]:
if (i==I).all():
x=(x+1)%256
if (i==d).all():
x=(x-1)%256
if (i==s).all():
x=(x*x)%256
if (i==o).all():
print(chr(x) if mode else x,end=('' if mode else '\n'))
if (i==c).all():
mode=(not mode)