My favourite is jason.c (it's one of the winners). The code looks like this (in part):
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define __ "Y\n : ! ,.?>"
#define D(f) ; } int f(int i) { return
#define E(a,b,c,d,e) b##d,c,e,a
#define e(a,b,c,d) a##b##c##d
#define B *p++ - ' ' || !p++
#define _(k) o(*#k - 64)
#define G(g,l,k,o,e,d,n,c,i,b,a,f,j,m,p) \
a#b#c#d#e#f#g#a#i#j#k#l#m#n#o e,i l##c,m##b; d g j n h(k 30:1); o p f}
G(E(f ( 9) -s
? -s + 'q'
? f( 5 ) -s &&'d' -
s?U( 3 ) ||_(J)
:A ( s- f( 5 ))
:(c= 4 *
4):
g(0)D(
V)c <= 3 *4 + 3&&c && V(X ( i) ) ;
}
int , time ( 0)& , c - 15 || P
(1
):0,
& ( !!d ( 0 )
||(a=! _(S)) ,b= 0 )||
a
?d(a = 0)
? _
(I): w ( j =!W(j=_ (V ))) ,
l(_
(Y+ s ) )
)e
(
main(){;
;;;s , ra,
n, d), && C ( j +R( s-j+t( i- 1) )
)D( W)m[ c* 4| z( j ) ]
&&_( X )E (d ( 0
)&& R( 6)/ 6
? c= 17|_ ( T )
:01,||+
, v =i & 3 ^ 2
,+j & 3&&W ( j)||y ( 10 )D (k) --
j ? k ( O[j]=R(15 ))
: 1 D
( H )o ( 7+! ! i+3 )+
i?
c=i /4 & 63,
a= 1
I didn't put the lot there because I'm not sure about the copyright. Anyway, compiling and running under Linux, OS/X, etc. gives this:
you are in a maze of twisty little passages
caves lead: left right
you see
a lamp
> take lamp
eh?
> get lamp
done
> left
you climb...
you are in a maze of twisty little passages
caves lead: left forward right back
you see
a scepter
> get scepter
done
> back
you climb...
you are in a maze of twisty little passages
caves lead: forward back
>
However you don't see those words in the code at all. Indeed the "logic" is hard to follow:
D(J) !j --E( 0 D ( K )!-!N, || i &,
_( R ) :i* c== (O
[ j ] ) &&n==f (j+ 6 + 5 * 4)?O
[j]= !i * c-_ ( L) :J(i )
D ( N ) j=9, & d(0 )? j= 6 | ! i , J(i )D
( o)(*S = p , ++ S,p = M , r (q (i) ),-- S, p = *S))
( (l (_ (Q )),n =s,i ^5 ) ) ;, E(j ,
sign , v ,ed ( b ) ;;
int c =1 ,O[9])
;int( s
)=