冽栀 2021-12-01 23:21 采纳率: 80%
浏览 67
已结题

为什么每次调试,控制台加载不出来图片?

img


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <easyx.h>
#undef UNICODE
#undef _UNICODE
//0空地 1墙 2箱子 3目的地 4人 5箱子+目的地 7人+目的地
int map[8][6] = {
0,1,1,1,1,0,
1,1,0,0,1,0,
1,4,2,0,1,0,
1,1,2,0,1,1,
1,1,0,2,0,1,
1,3,2,0,0,1,
1,3,3,5,3,1,
1,1,1,1,1,1,};

int main()
{
initgraph(300, 400);
IMAGE wall, people, box, end, blank, redbox;
loadimage(&wall, "1", 50, 50);
loadimage(&people, "4", 50, 50);
loadimage(&box, "3", 50, 50);
loadimage(&end, "2", 50, 50);
loadimage(&blank, "0", 50, 50);
loadimage(&redbox, "5", 50, 50);

while (1)
{

system("cls");
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 6;j++)
{
switch (map[i][j])
{
case 0:putimage(j50,i50,&blank); break;
case 1:putimage(j * 50, i * 50, &wall); break;
case 2:putimage(j * 50, i * 50, &box); break;
case 3:putimage(j * 50, i * 50, &end); break;
case 4:putimage(j * 50, i * 50, &people); break;
case 5:putimage(j * 50, i * 50, &redbox); break;
case 7:putimage(j * 50, i * 50, &people); break;
}
}
printf("\n");
}

//定位人
int r, c;
int isfind = false;
for (int i = 0; i < 8; i++)
{
    for (int j = 0; j < 6; j++)
    {
        if (map[i][j] == 4 || map[i][j] == 7)
        {
            r = i;
            c = j;
            isfind = true;
            break;
        }
    }
    if (isfind)
        break;
}

char key = _getch();
switch (key)
{
case 'w':
    //人前面是空地或目的地
    if (map[r - 1][c] == 0||map[r-1][c]==3)
    {
        map[r - 1][c] += 4;
        map[r][c] -= 4;
    }
    //人前是箱子
    else if (map[r - 1][c] == 2 || map[r - 1][c] == 5)
    {
        //人的前面的前面
        if (map[r - 2][c] == 0 || map[r - 2][c] == 3)
        {
            map[r - 2][c] += 2;
            map[r - 1][c] += 2;
            map[r][c] -= 4;
        }
    }
    break;
case 's':
    //人下面是空地或目的地
    if (map[r + 1][c] == 0 || map[r + 1][c] == 3)
    {
        map[r + 1][c] += 4;
        map[r][c] -= 4;
    }
    //人下是箱子
    else if (map[r + 1][c] == 2 || map[r + 1][c] == 5)
    {
        //人的下面的下面
        if (map[r + 2][c] == 0 || map[r + 2][c] == 3)
        {
            map[r + 2
  • 写回答

1条回答 默认 最新

  • 关注

    你loadimage函数里,第二个参数需要把图片的全名写出来,只写“1”是不行的。
    如果是png格式,需要写成"1.png",如下图(图片中是jpg格式图片)

    img

    还有就是图片需要跟工程在同一个目录下,否则,"1.png"这里就需要包含图片所在的路径

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月2日
  • 已采纳回答 12月2日
  • 创建了问题 12月1日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!