刚才的程序显示"getimage": 不是 "IMAGE" 的成员咋解决
时间: 2023-08-14 12:07:25 浏览: 115
非常抱歉,我之前提供的代码中的错误。在EasyX图形库中,确实没有名为 `getimage()` 的成员函数。请修改代码中的 `getimage()` 函数调用为 `getimage()` 函数来获取原始图片的小块。
下面是修改后的代码片段:
```c
void InitPuzzle()
{
// 加载原始图片
IMAGE img;
loadimage(&img, _T("image.jpg"), IMAGE_SIZE, IMAGE_SIZE);
// 切割图片为小块并保存到puzzle数组中
for (int i = 0; i < PUZZLE_SIZE; i++)
{
for (int j = 0; j < PUZZLE_SIZE; j++)
{
getimage(&puzzle[i][j], j * IMAGE_SIZE, i * IMAGE_SIZE, IMAGE_SIZE, IMAGE_SIZE, &img);
puzzleIndex[i][j] = i * PUZZLE_SIZE + j;
}
}
// 打乱图片块顺序
srand(time(NULL));
for (int i = 0; i < PUZZLE_SIZE; i++)
{
for (int j = 0; j < PUZZLE_SIZE; j++)
{
int x1 = rand() % PUZZLE_SIZE;
int y1 = rand() % PUZZLE_SIZE;
int x2 = rand() % PUZZLE_SIZE;
int y2 = rand() % PUZZLE_SIZE;
int temp = puzzleIndex[x1][y1];
puzzleIndex[x1][y1] = puzzleIndex[x2][y2];
puzzleIndex[x2][y2] = temp;
}
}
// 初始化空白图片块位置
emptyX = PUZZLE_SIZE - 1;
emptyY = PUZZLE_SIZE - 1;
}
```
请注意,这里使用 `getimage()` 函数从原始图片中获取小块图像。稍后使用 `putimage()` 函数将小块图像放置在游戏区域。
非常抱歉给您带来的困扰,希望这次的修改可以解决问题。如果还有其他问题,请随时提问。
阅读全文