搜索
查看: 874|回复: 2
打印 上一主题 下一主题

[原创] 一个小但是考验智商的迷宫

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-25 20:19:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
你能几次过? 高级迷宫排名.xls (14 KB, 下载次数: 25)
[mw_shl_code=c,true]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{       
    char a[20][21]={"####################",
                    "#O       #         #",
                    "# ######   ####### #",
                    "# #      # #  $#$# #",
                    "# # ###### # ##[]# #",
                        "# #    #@# # # # # #",
                    "#   #  # #   #$# # #",
                    "#####[]# ######$ # #",
                        "#      # @   #  #  #",
                    "## # # ######## #[]#",
                    "#  # #     #    #  #",
                    "# ## #####@# ####  #",
                    "#  #     #   #     #",
                    "## ##### ######### #",
                    "#  #$@   # @     # #",
                    "# #@######### ## # #",
                    "# #            #   #",
                    "# ###############  #",
                    "#              []  #",
                        "#################[]#",};
        int b,x=1,y=1,money=0;
    char ch;
        while(1)
    {
    for(b=0;b<=19;b++)   
        puts(a);
    printf("$ %d a← d→ w↑ s↓",money);
    if(x==19 && y==18)
        break;       
        ch=getch();                                  
        if(ch=='a')
        {
        if(a[x][y-1]==' ')
        {       
                    a[x][y]=' ';
            y--;
                    a[x][y]='O';
                }
            if(a[x][y-1]=='$')
                {       
                    a[x][y]=' ';
            y--;
                    a[x][y]='O';
                        money++;
                }
        if(a[x][y-1]=='@')
        {
            a[x][y]=' ';
            y--;
            a[x][y]=' ';
            x=19-x;
                        y=19-y;
            a[x][y]='O';
                }
                if(a[x][y-1]==']' && money>0)
            {
                        a[x][y]=' ';
            y--;
                        a[x][y]='O';
            y--;
                        a[x][y]=' ';
                        y++;
                        money--;
                }
        if(a[x][y-1]=='[' && money>0)
        {
        a[x][y]=' ';
        y--;
        a[x][y]='O';
        money--;
        }
    }
    if(ch=='d')
        {
        if(a[x][y+1]==' ')
        {       
                    a[x][y]=' ';
            y++;
                    a[x][y]='O';
                }
            if(a[x][y+1]=='$')
                {       
                    a[x][y]=' ';
            y++;
                    a[x][y]='O';
                        money++;
                }
        if(a[x][y+1]=='@')
        {
            a[x][y]=' ';
            y++;
            a[x][y]=' ';
            x=19-x;
                        y=19-y;
            a[x][y]='O';
                }
                if(a[x][y+1]=='[' && money>0)
            {
                        a[x][y]=' ';
            y++;
                        a[x][y]='O';
            y++;
                        a[x][y]=' ';
                        y--;
                        money--;
                }
        if(a[x][y+1]==']' && money>0)
        {
        a[x][y]=' ';
        y++;
        a[x][y]='O';
        money--;
        }        
    }
    if(ch=='w')
        {
        if(a[x-1][y]==' ')
        {       
                    a[x][y]=' ';
            x--;
                    a[x][y]='O';
                }
            if(a[x-1][y]=='$')
                {       
                    a[x][y]=' ';
            x--;
                    a[x][y]='O';
                        money++;
                }
        if(a[x-1][y]=='@')
        {
            a[x][y]=' ';
            x--;
            a[x][y]=' ';
            x=19-x;
                        y=19-y;
            a[x][y]='O';
                }
                if(a[x-1][y]==']' && money>0)
            {
                        a[x][y]=' ';
            x--;
                        a[x][y]='O';
            y--;
                        a[x][y]=' ';
                        y++;
                        money--;
                }
        if(a[x-1][y]=='[' && money>0)
        {
        a[x][y]=' ';
        x--;
        a[x][y]='O';
        y++;
        a[x][y]=' ';
        y--;
        money--;
        }
    }
    if(ch=='s')
        {
        if(a[x+1][y]==' ')
        {       
                    a[x][y]=' ';
            x++;
                    a[x][y]='O';
                }
            if(a[x+1][y]=='$')
                {       
                    a[x][y]=' ';
            x++;
                    a[x][y]='O';
                        money++;
                }
        if(a[x+1][y]=='@')
        {
            a[x][y]=' ';
            x++;
            a[x][y]=' ';
            x=19-x;
                        y=19-y;
            a[x][y]='O';
                }
                if(a[x+1][y]==']' && money>0)
            {
                        a[x][y]=' ';
            x++;
                        a[x][y]='O';
            y--;
                        a[x][y]=' ';
                        y++;
                        money--;
                }
        if(a[x+1][y]=='[' && money>0)
        {
        a[x][y]=' ';
        x++;
        a[x][y]='O';
        y++;
        a[x][y]=' ';
        y--;
        money--;
        }
    }
    system("cls");
    }
    Sleep(1000);
    if(money==0)
    printf("\n\n你通过了!\n\n");
    if(money==1)
    printf("\n\n恭喜你找到了完美过法!\n\n");
    Sleep(3000);
        system("pause");
        return 0;
}
[/mw_shl_code]
沙发
发表于 2015-8-10 08:30:31 | 只看该作者
不错。。。
板凳
发表于 2018-8-3 21:46:06 | 只看该作者
为什么是这样?什么东西来移动啊???

截图.png (26.53 KB, 下载次数: 17)

打开后。。。。。。

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

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表