動く様にしたものなのですが、0番スプライトしか表示されません。
1番スプライト以降も表示させるには、どうすれば良いですか?
誰か詳しい方教えてください。
#include<stdio.h>
#include<windows.h>
#define BACK_RED (BACKGROUND_RED | BACKGROUND_INTENSITY)
#define BACK_YELLOW (BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY)
#define BACK_GREEN (BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY)
#define BACK_BLUE (BACKGROUND_BLUE | BACKGROUND_INTENSITY)
#define BACK_WHITE (BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY)
#define BACK_PURPLE (BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_INTENSITY)
#define BACK_WATER (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY)
#define FORE_RED (FOREGROUND_RED | FOREGROUND_INTENSITY)
#define FORE_YELLOW (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY)
#define FORE_GREEN (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY)
#define FORE_BLUE (FOREGROUND_BLUE | FOREGROUND_INTENSITY)
#define FORE_WHITE (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY)
#define FORE_PURPLE (FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY)
#define FORE_WATER (FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY)
void print_pixel(unsigned char b)
{
HANDLE mystdout;
mystdout=GetStdHandle(STD_OUTPUT_HANDLE);
switch(b)
{
case 0 :
SetConsoleTextAttribute(mystdout,0 );
printf(" ");
break;
case 1 :
SetConsoleTextAttribute(mystdout,BACK_RED | FORE_RED );
printf("■");
break;
case 2 :
SetConsoleTextAttribute(mystdout,BACK_WHITE | FORE_WHITE);
printf("■");
break;
case 3 :
SetConsoleTextAttribute(mystdout,BACK_WATER | FORE_WATER);
printf("■");
break;
default :
printf("%d", b);
}
}
void DrawPixel(unsigned char tile[16])
{
int i,j,k;
for(i = 0, j = 8; i < 8; i++, j++)
{
for(k = 7; k >= 0; k--)
print_pixel(((((tile >> k) & 1) << 1) |
((tile[j] >> k) & 1)));
putchar('\n');
}
}
int main(void)
{
FILE *fp;
int l;
unsigned char tile[2][16];
char filename[64];
printf("ファイル名を入力してください。\n");
scanf("%s",filename);
//if(argc < 2) return 1;
if(!(fp = fopen(filename, "r")))
return 1;
for(l=0;l<2;l++)
{
fread(tile[[/url], 1, 16, fp);
DrawPixel(tile[[/url]);
}
fclose(fp);
int temp;
scanf("%d",&temp);
return 0;
}
使用例:
ファイル名を表示してください。
giko.spr[enterで
表示される。]
