问题是这样的:
我在写一个扫雷的小游戏的时候,需要加载图片,单张图片是可以加载的,但是当我在两个for循环里面加载图片,调试的时候只能出现设定的黑窗口,但是无法出现图片。我本来以为是我电脑不行,我就把我写的程序发给我的同学们,也是只会出现黑窗口,但是无法出现图片。所以我当时很好奇这是不是哪里出了问题,后来我单独在主函数中使用的时候,就是我之前贴的代码,也是无法出现图片,要不然就是会全部是一张图片(这个问题可能是我随机出现了问题)。
所以我想请教大家无法出现图片的问题是怎么一回事,因为我看到评论也有人出现了和我一样的问题。
======================分割线=================================
写扫雷游戏,加载单张图片是可以的,但是多张图片加载不出来。在资源加载的时候始终是黑窗口。
下面贴出代码,不同之处在于图片的编号,0.jpg代表第一张,1.jpg代表第二张,以此类推。
这是测试代码:
int main()
{
initgraph(500, 500);
IMAGE img[5];
loadimage(&img[0], "0.jpg", 50, 50);
loadimage(&img[1], "0.jpg", 50, 50);
loadimage(&img[2], "0.jpg", 50, 50);
loadimage(&img[3], "0.jpg", 50, 50);
loadimage(&img[4], "0.jpg", 50, 50);
int i, j, x, y;
for (i = 0; i < 11; i++)
{
srand((unsigned int)time(NULL));
int m = rand() % 5 + 1;
for (j = 0; j < 11; j++)
{
x = 50 * (i - 1);
y = 50 * (j - 1);
putimage(x, y, &img[m]);
}
}
_getch();
closegraph();
system("pause");
return 0;
}
当有多张图片时:
int main()
{
initgraph(500, 500);
IMAGE img[5];
loadimage(&img[0], "0.jpg", 50, 50);
loadimage(&img[1], "1.jpg", 50, 50);
loadimage(&img[2], "2.jpg", 50, 50);
loadimage(&img[3], "3.jpg", 50, 50);
loadimage(&img[4], "4.jpg", 50, 50);
int i, j, x, y;
for (i = 0; i < 11; i++)
{
srand((unsigned int)time(NULL));
int m = rand() % 5 + 1;
for (j = 0; j < 11; j++)
{
x = 50 * (i - 1);
y = 50 * (j - 1);
putimage(x, y, &img[m]);
}
}
_getch();
closegraph();
system("pause");
return 0;
}