版权声明:转载请链接出处 https://blog.csdn.net/BluseLIBB/article/details/87900166
基于字符界面推箱子,只需做简单修改即可。
效果如下:
对比一下printfmap函数
void printfmap()//打印地图
{
system("cls");
for(int i=0;i<9;i++)
{
for(int j=0; j<9;j++)
{
if(map[i][j]==0)
{
printf(" ");
}
if(map[i][j]==1)
{
printf("■");
}
if(map[i][j]==9)
{
printf("\n");
}
if(map[i][j]==2)
{
printf("☆");
}
if(map[i][j]==3)
{
printf("□");
}
if(map[i][j]==4)
{
printf("⊙");
}
if(map[i][j]==5)
{
printf("★");
}
}
}
printf("\n用 w a s d 控制移动\n");
printf("-1.重新开始--2.返回-\n");
}
原来为打印字符,现在加载图片资源
void printfmap()//打印地图
{
for (int i = 0; i<9; i++)
{
for (int j = 0; j<9; j++)
{
if (map[i][j] == 0)
{
putimage(j * 50 ,i * 50, &backgroundimg, SRCINVERT);
}
if (map[i][j] == 1)
{
putimage(j * 50, i * 50, &wall, SRCINVERT);
}
if (map[i][j] == 9)
{
putimage(j * 50, i * 50, &backgroundimg, SRCINVERT);
}
if (map[i][j] == 2)
{
putimage(j * 50, i * 50, &point1, SRCINVERT);
}
if (map[i][j] == 3)
{
putimage(j * 50, i * 50, &box1, SRCINVERT);
}
if (map[i][j] == 4)
{
putimage(j * 50, i * 50, &people_img[5], SRCINVERT);
}
if (map[i][j] == 5)
{
putimage(j * 50, i * 50, &box2, SRCINVERT);
}
}
}
}
只做了简单的修改,其他功能的实现,对应着改就可以了。