Jack o lantern generator by smkt

#define S strcmp
#define K strcpy
#define B break;
#define C case
char I=92,l=0,Y,Z,N,M[4],J[9],P[99],u[9],v,i,H;G(char*c,int d,int D){int w=0,x;v=0;while(1){x=getchar();x^-1?0:exit(0);c[w++]=x;if(x==d){v=1;B}if(x==D)B}c[w-1]=0;}main(){
while(1){H=v=i=0;while(1){G(J,':','!');if(!S(J,"go"))B getchar();G(P,',',10);if(v==1)G(u,10,0),i=1;if(!S(J,"eye")){H=0;if(i){if(!S(u,"right"))H=2;if(!S(u,"left"))H=1;}}if(!S(J,"nose"))
H=3;!S(J,"mouth")?H=4:0;if(!S(J,"stem")){!S(P,"straight")?I='|':0;!S(P,"tilted")?I=92:0;!S(P,"curved")?I=41:0;!S(P,"long")?l=1:0;!S(P,"short")?l=0:0;!S(P,"none")?I=32:0;if(i){
!S(u,"straight")?I='|':0;!S(u,"tilted")?I=92:!S(u,"curved")?I=41:0;!S(u,"long")?l=1:0;!S(u,"short")?l=0:0;!S(u,"none")?I=32:0;}}if(!S(P,"flat")){switch(H){C 0:Y=Z=45;B C 1:Y=45;B C 2:Z=45;B
C 3:N=45;B C 4:K(M,"---");}}if(!S(P,"triangle")){switch(H){C 0:Y=Z=94;B C 1:Y=94;B C 2:Z=94;B C 3:N=94;B C 4:K(M," ^ ");}}if(!strncmp(P,"inve",4)){switch(H){C 0:Y=Z=86;B
C 1:Y=86;B C 2:Z=86;B C 3:N=86;B C 4:K(M," V ");}}if(!S(P,"circle")){switch(H){C 0:Y=Z=79;B C 1:Y=79;B C 2:Z=79;B C 3:N=79;B C 4:K(M," O ");}}if(!S(P,"wavy")){switch(H){C 0:Y=Z='~';B
C 1:Y='~';B C 2:Z='~';B C 3:N='~';B C 4:K(M,"\\/\\");}}if(!S(P,"tiny")){switch(H){C 0:Y=Z=46;B C 1:Y=46;B C 2:Z=46;B C 3:N=46;B C 4:K(M," . ");}}if(!S(P,"narrow")){switch(H){C 0:Y=Z='|';B
C 1:Y='|';B C 2:Z='|';B C 3:N=33;B}}if(!S(P,"star")){switch(H){C 0:Y=Z=42;B C 1:Y=42;B C 2:Z=42;B C 3:N=42;B C 4:K(M," * ");}}if(!S(P,"x")){switch(H){C 0:Y=Z='x';B C 1:Y='x';B
C 2:Z='x';B C 3:N='x';B C 4:K(M," X ");}}}if(l){if(I=='|')printf("   |\n");if(I==92)printf("  \\\n");if(I==41)printf("   (\n");}else puts("");printf(" __%c__\n/ %c %c \\\n|  %c  |\n\\ %s /\n-------\n",I,Y,Z,N,M);}}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page