无法加载资源图片

0

问题是这样的:

我在写一个扫雷的小游戏的时候,需要加载图片,单张图片是可以加载的,但是当我在两个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;
}
ava
望星河遥

2020-6-26

0

对 我也遇到这个问题   希望来个大佬给讲讲

0

你的程序的随机数算法是 rand() % 5 + 1,看看你写的代码和前面的是否匹配?

你的数组长度可是5哦,当心爆栈(逃

ava
无名氏

2020-6-26

这个只是一个测试的代码,源码不是这个。但是确实是有这样的一个问题。 -  望星河遥  2020-6-27
@望星河遥 你不详细说你的问题,谁知道问题出在哪里呢。 -  慢羊羊  2020-6-30
技术讨论社区