#include #include inline char Pixel(char c, int x) { return (c & 0x01<=0;h--) for (int p=3;p>=0;p--) { for (int r=7;r>=0;r--) DrawPixel(Pixel(image[i*16+r+h*8],p)); printf("\n"); } } void DrawBigRectangle(char *image,int i) { for (int h=1;h>=0;h--) for (int p=3;p>=0;p--) { for (int s=1;s>=0;s--) for (int r=7;r>=0;r--) DrawPixel(Pixel(image[i*16+r+s*16+h*8],p)); printf("\n"); } } void DrawBigSquare(char *image,int i) { DrawBigRectangle(image,i); DrawBigRectangle(image,i+2); } void main() { cout << "Filename: \n"; char filename[32]; cin >> filename; while(getchar()!='\n') {} int width = 8; int height = 8; FILE *in = fopen(filename,"rb"); if (!in) { printf("File \"%s\" failed to open. :(\n",filename); return; } char image[4096]; int c; for (char *s=image;(c=fgetc(in)) != EOF;s++) *s=c; fclose(in); int big=0; for (int s=0;s<4096/16;s+=big?4:1) { char line[10]; if (big) DrawBigSquare(image,s); else DrawSquare(image,s); // while(getchar()!='\n') {} gets(line); switch(line[0]) { case 'b': big = 1; s-=4; break; case 's': big = 0; s--; break; case '-': s-=(big?4:1)*2; break; } } printf("\n\nThats all folks...\n"); }