鱼C论坛

 找回密码
 立即注册
楼主: 蔚蓝

[技术交流] C语言走迷宫

  [复制链接]
发表于 2021-3-27 08:37:36 From FishC Mobile | 显示全部楼层
学习分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-5 17:19:47 | 显示全部楼层
学习学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-5 18:32:16 From FishC Mobile | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-6 15:39:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-6 17:35:01 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-6 18:58:28 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-8 11:30:44 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-10 20:34:46 | 显示全部楼层
有好多错误,对我这个新手很不友好,花了一下午才靠百度和小甲鱼函数快查改好。
改完的如下:
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
int DrawMap(char map[16][30]);
int AmendMap(char map[16][30],char ch);


      

char map[16][30]={"#############################",
                     "#0 ##                  ######",
                     "##    ##### ########## ######",
                     "###  ######  ####      ### ##",
                     "####  ##### #     #### ######",
                     "#######    ## ###  ###   #   ",
                     "####### ## ## ####  ## ##### ",
                     "####    ## ## ##### ### #### ",
                     "#######  #   # ###     ###   ",
                     "####### #  ### ## ####  #####",
                     "#    #  ## ##  ##   ## ######",
                     "##### #  #  # ##  ####   ####",
                     "#######   #      #######  ###",
                     "################   ###### # #",
                     "##################          #",
                     "########################### #",
                                         };//地图数组
                                         
int main(void)
{
        char ch;
        int retval;//结果
        DrawMap(map);
     while(1)
    {
     ch= getchar();
    if(ch=='j' || ch=='J' || ch=='k' || ch=='K' || ch=='L' || ch=='l' ||ch=='i' || ch=='I')
        {
             ch= AmendMap(map,ch);//获取输入修改地图
             DrawMap(map);//刷新显示
                if(ch==1)//走出迷宫
                {
                        printf("\n恭喜你走出迷宫!\n");
                        break;
                }
    }
   
    };
        printf("按任意键结束!\n");
        getchar();
    return 0;
};

int DrawMap(char map[16][30])
{
int i,j;
system("cls");
        printf("C语言走迷宫,蔚蓝之链制作:QQ:2454238510  欢迎交流C语言!!!\n");
        printf("开始前请关闭输入法!!!\n");
        printf("jkli建移动\n");
for(i=0;i<16;i++)
{
        for(j=0;j<30;j++)
    {
                printf("%c",map[i][j]);
    }
    printf("\n");
}
printf("                          出口");
return 0;
}
int AmendMap(char map[16][30],char ch)//返回1走出迷宫,否则返回0
{
        int i,j;
    int wx,wy;//wx:x位置,xy:y位置
        for (i=0;i<16;i++)
    {
                for (j=0;j<30;j++)
        {
                        if(map[i][j]=='0')
            {
                                wy=i;
                wx=j;
            }
        }
    }
    if(ch=='j' || ch=='J')//向右
    {
                if(map[wy][wx-1]=='#')
        {
                        return 0;
        }
        else
        {
                        map[wy][wx - 1]='0';
            map[wy][wx]=' ';
        }
    }
    if(ch=='l' || ch=='L')//向左
    {
                if(map[wy][wx + 1]=='#')
        {
                        return 0;
        }
        else
        {
                        map[wy][wx + 1]='0';
            map[wy][wx]=' ';
        }
    }
    if(ch=='i' || ch=='I')//向上
    {
                if(map[wy - 1][wx]=='#')
        {
                        return 0;
        }
        else
        {
                        map[wy - 1][wx ]='0';
            map[wy][wx]=' ';
        }
    }
    if(ch=='k' || ch=='K')//向下
    {
                if(map[wy + 1][wx]=='#')
        {
                        return 0;
        }
        else
        {
                        map[wy + 1][wx]='0';
            map[wy][wx]=' ';
        }
    }
   
   if (map[15][27]=='0')//判断走到出口
   {
        return 1;
   }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-10 22:42:52 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-7 22:23:40 | 显示全部楼层
098877
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-21 10:12:01 | 显示全部楼层
学习一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-4 16:41:35 | 显示全部楼层
谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-8 20:52:33 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-9 10:14:14 | 显示全部楼层
2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-11 18:08:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-14 08:04:57 | 显示全部楼层
,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-6 11:42:03 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-6 12:33:46 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-9 16:42:09 | 显示全部楼层
ll
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-3 19:49:44 | 显示全部楼层
学习学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-21 17:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表