Skip to content

Ascii Fluid Dynamics (not my code but an ioccc.org submission that is amazing)

Notifications You must be signed in to change notification settings

copremesis/endoh1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

original submission:


#  include<stdio.h>//  .IOCCC                                         Fluid-  #
#  include <unistd.h>  //2012                                         _Sim!_  #
#  include<complex.h>  //||||                     ,____.              IOCCC-  #
#  define              h for(                     x=011;              2012/*  #
#  */-1>x              ++;)b[                     x]//-'              winner  #
#  define              f(p,e)                                         for(/*  #
#  */p=a;              e,p<r;                                        p+=5)//  #
#  define              z(e,i)                                        f(p,p/*  #
## */[i]=e)f(q,w=cabs  (d=*p-  *q)/2-     1)if(0  <(x=1-      w))p[i]+=w*/// ##
   double complex a [  97687]  ,*p,*q     ,*r=a,  w=0,d;    int x,y;char b/* ##
## */[6856]="\x1b[2J"  "\x1b"  "[1;1H     ", *o=  b, *t;   int main   (){/** ##
## */for(              ;0<(x=  getc (     stdin)  );)w=x  >10?32<     x?4[/* ##
## */*r++              =w,r]=  w+1,*r     =r[5]=  x==35,  r+=9:0      ,w-I/* ##
## */:(x=              w+2);;  for(;;     puts(o  ),o=b+  4){z(p      [1]*/* ##
## */9,2)              w;z(G,  3)(d*(     3-p[2]  -q[2])  *P+p[4      ]*V-/* ##
## */q[4]              *V)/p[  2];h=0     ;f(p,(  t=b+10  +(x=*p      *I)+/* ##
## */80*(              y=*p/2  ),*p+=p    [4]+=p  [3]/10  *!p[1])     )x=0/* ##
## */ <=x              &&x<79   &&0<=y&&y<23?1[1  [*t|=8   ,t]|=4,t+=80]=1/* ##
## */, *t              |=2:0;    h=" '`-.|//,\\"  "|\\_"    "\\/\x23\n"[x/** ##
## */%80-              9?x[b]      :16];;usleep(  12321)      ;}return 0;}/* ##
####                                                                       ####
###############################################################################
**###########################################################################*/

original video

https://www.youtube.com/watch?v=QMYfkOtYYlg

original code is here:

http://ioccc.org/2012/endoh1

when attempting this command:

wget -r http://ioccc.org/2012/endoh1/

it would grab a slew more projects.

Instead I pushed it to this repo and even made a docker to make life easier for those interested in studying this sort of stuff.

docker repo

git pull copremesis/ascii-fluid
docker run -it -w /root/endoh1 copremesis/ascii-fluid bash

compile

make                     # default endoh1
make endoh1_color        # colorized version
make endoh1_deobfuscate  # slightly easier to read version (formatted at least)

https://github.com/copremesis/endoh1/blob/master/endoh1_deobfuscate.c

I can only imagine -- as an exercise -- to attempt to translate this into:

  • rust
  • kotlin
  • clojure
  • groovy
  • java
  • python
  • php
  • go
  • node
  • haskell
  • erlang
  • elixir
  • ruby
  • perl

About

Ascii Fluid Dynamics (not my code but an ioccc.org submission that is amazing)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published