Jack o lantern generator by smkt

#define S strcmp
#define K strcpy
#define B break;
#define C case
char I='\\',l=0,Y,Z,N,M[4],J[9],P[99],u[9],v,i,adj;G(char*c,int d1,int d2){int w=0,x;v=0;while(1){x=getchar();if(x==-1)exit(0);c[w++]=x;if(x==d1){v=1;B}if(x==d2)B}c[w-1]=0;}main(){
while(1){adj=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")){adj=0;if(i){if(!S(u,"right"))adj=2;if(!S(u,"left"))adj=1;}}if(!S(J,"nose"))
adj=3;!S(J,"mouth")?adj=4:0;if(!S(J,"stem")){!S(P,"straight")?I='|':0;!S(P,"tilted")?I='\\':0;!S(P,"curved")?I=')':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='\\':!S(u,"curved")?I=')':0;!S(u,"long")?l=1:0;!S(u,"short")?l=0:0;!S(u,"none")?I=32:0;}}if(!S(P,"flat")){switch(adj){C 0:Y=Z='-';B C 1:Y='-';B C 2:Z='-';B
C 3:N='-';B C 4:K(M,"---");}}if(!S(P,"triangle")){switch(adj){C 0:Y=Z='^';B C 1:Y='^';B C 2:Z='^';B C 3:N='^';B C 4:K(M," ^ ");}}if(!S(P,"inverted-triangle")){switch(adj){C 0:Y=Z='V';B
C 1:Y='V';B C 2:Z='V';B C 3:N='V';B C 4:K(M," V ");}}if(!S(P,"circle")){switch(adj){C 0:Y=Z='O';B C 1:Y='O';B C 2:Z='O';B C 3:N='O';B C 4:K(M," O ");}}if(!S(P,"wavy")){switch(adj){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(adj){C 0:Y=Z='.';B C 1:Y='.';B C 2:Z='.';B C 3: N='.';B C 4:K(M," . ");}}if(!S(P,"narrow")){switch(adj){C 0:Y=Z='|';B
C 1:Y='|';B C 2:Z='|';B C 3:N='!';B}}if(!S(P,"star")){switch(adj){C 0:Y=Z='*';B C 1:Y='*';B C 2:Z='*';B C 3:N='*';B C 4:K(M," * ");}}if(!S(P,"x")){switch(adj){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=='\\')printf("  \\\n");if(I==')')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