| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2509 人关注过本帖
标题:初学C语言!写的迷宫小游戏!
只看楼主 加入收藏
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
结帖率:50%
收藏
 问题点数:0 回复次数:8 
初学C语言!写的迷宫小游戏!
刚学不久!没事写了个小小小游戏!程序虽然写的很不专业!但还是在努力下完成了!
以下在WIN-TC下测试可用!

#include<stdio.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
/*--------------------------迷宫地图-------------------------*/
int horizontal=1,vertical=0;
;
int length=20,width=70;
int person=2,map[20][70]={
                            {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
                            { 2 ,' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#'},
                            {'#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#',' ','#','#','#','#','#','#','#',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#'},
                            {'#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ','#','#',' ',' ',' ',' ','#',' ','#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#','#',' ','#'},
                            {'#',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#','#',' ','#',' ','#','#',' ',' ',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#','#','#',' ','#'},
                            {'#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#',' ','#',' ','#','#','#','#','#','#',' ','#','#',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#',' ','#'},               
                            {'#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ','#','#',' ','#','#','#','#','#','#','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#','#','#','#','#',' ','#'},
                            {'#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ','#',' ','#','#','#','#','#','#','#',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ','#',' ',' ',' ','#',' ','#'},
                            {'#',' ','#',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ','#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#','#',' ','#','#','#','#','#','#','#',' ','#','#','#','#','#','#','#','#','#',' ','#',' ','#',' ','#',' ','#',' ','#'},
                            {'#',' ','#',' ','#',' ','#',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#','#','#',' ','#'},
                            {'#',' ','#',' ','#',' ',' ',' ','#',' ','#','#','#',' ','#',' ','#','#','#','#','#','#','#','#',' ','#',' ',' ',' ','#','#','#',' ',' ',' ','#',' ',' ',' ',' ',' ','#','#','#','#','#',' ','#','#','#','#','#','#','#','#','#','#','#','#',' ',' ','#','#','#','#','#','#','#',' ','#'},
                            {'#',' ','#',' ','#','#','#','#','#','#','#','#',' ',' ','#',' ','#',' ',' ',' ',' ','#','#','#',' ','#','#','#','#','#','#','#',' ','#',' ','#',' ','#','#','#',' ','#',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#','#',' ','#'},
                            {'#',' ','#',' ','#',' ',' ',' ',' ',' ',' ','#',' ','#','#',' ','#',' ','#','#',' ','#','#','#',' ',' ',' ',' ',' ','#','#','#',' ','#',' ',' ',' ','#',' ','#',' ','#',' ','#',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#',' ','#','#','#','#',' ',' ',' ','#',' ','#'},
                            {'#',' ','#',' ','#',' ','#','#','#','#',' ','#',' ',' ',' ',' ','#',' ',' ','#',' ','#','#','#','#','#','#','#','#',' ',' ',' ',' ','#','#','#','#',' ',' ','#',' ','#',' ','#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#','#','#','#','#','#','#',' ','#'},
                            {'#',' ','#',' ','#',' ',' ',' ',' ','#',' ','#','#','#','#','#','#','#',' ','#',' ','#','#','#','#','#','#','#','#',' ','#','#',' ','#','#','#','#',' ','#','#',' ','#',' ','#',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ',' ',' ',' ',' ','#',' ','#'},
                            {'#',' ','#',' ','#','#','#','#',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#',' ',' ',' ',' ',' ',' ','#','#',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#','#','#','#','#',' ','#'},
                            {'#',' ','#',' ',' ',' ',' ',' ',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#',' ',' ',' ',' ','#',' ','#'},
                            {'#',' ','#','#','#','#','#','#','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ',' ','#',' ',' ',' ','#','#','#','#','#','#','#','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#','#','#',' ',' ',' ','#','#','#','#','#',' ','#','#',' ','#',' ','#'},
                            {'#',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#','#',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*'},
                            {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'}
                           
};


/*------------------------------------------------------------*/

void execute();/*执行函数声明*/
void maps();   /*地图函数声明*/
void interface_main();/*主界面*/
void interface_options();/*胜利语*/
void interface_last();    /*退出语*/
void up();    /*向上执行函数声明*/
void down();    /*向下执行函数声明*/
void left();      /*向左执行函数声明*/
void right();    /*向右执行函数声明*/
void soul();     /*灵魂函数声明*/

void main()           /*主函数*/
{

/*  interface_main();
    maps();
*/
    execute();                 /*执行方向操作函数调用*/
    maps();
    interface_last();           /*退出语*/
    getch();
}





void interface_main()              /*主界面函数*/
{
    printf("--------------wlecome use----------------\n");
    printf("             time 09.07.20               \n");
    printf("             author snoopy                \n");
    printf("ESC(shut)\n");

}
void interface_options()       /*胜利语*/
{
    printf("congratulate pass a test ! ! !    ^-^");
    getch();
    exit(0);
}
void interface_last()         /*退出语*/
{
    printf("good bay ! ! !   ^-^");
}
void execute()          /*方向执行函数*/
{
    int key;
    do
    {
        system("cls");
        interface_main();
        maps();
        key=bioskey(0);
        system("cls");
        interface_main();
        if(key==UP||key=='8')            /*当按上按键时执行返回值为1*/
        {
            up();            /*调用上方向执行函数*/
        }
        if(key==DOWN)
        {
            down();
        }
        if(key==LEFT)
        {
            left();
        }
        if(key==RIGHT)
        {
            right();
        }
        soul();                 /*调用灵魂函数*/
    }while(key!=ESC);

}

void maps()                 /*迷宫输出函数*/
{
    int i,j;
    for(i=0;i<length;i++)
    {
        printf("     ");
        for(j=0;j<width;j++)
        {
            printf("%c",map[i][j]);
        }
        printf("\n");
    }
}
void up()       /*上方向执行函数*/
{
    int t;
    if(map[horizontal-1][vertical]=='*')                 /*当即将要走到得地方为‘*‘时则返回1*/
    {
        map[horizontal-1][vertical]=map[horizontal][vertical];
        map[horizontal][vertical]=' ';
        maps();
        interface_options();
    }
    if(map[horizontal-1][vertical]==' ')
    {
        horizontal=horizontal-1;
        t=map[horizontal][vertical];
        map[horizontal][vertical]=map[horizontal+1][vertical];
        map[horizontal+1][vertical]=t;
    }
    maps();

}
void down()                   /*下方向执行函数*/
{
    int t;
    if(map[horizontal+1][vertical]=='*')
    {
        map[horizontal+1][vertical]=map[horizontal][vertical];
        map[horizontal][vertical]=' ';
        maps();
        interface_options();
    }
    if(map[horizontal+1][vertical]==' ')
    {
        horizontal=horizontal+1;
        t=map[horizontal][vertical];
        map[horizontal][vertical]=map[horizontal-1][vertical];
        map[horizontal-1][vertical]=t;
    }
    maps();
}
void left()          /*左方向执行函数*/
{
    int t;
    if(map[horizontal][vertical-1]=='*')
    {
        map[horizontal][vertical-1]=map[horizontal][vertical];
        map[horizontal][vertical]=' ';
        maps();
        interface_options();
    }
    if(map[horizontal][vertical-1]==' ')
    {
        vertical=vertical-1;
        t=map[horizontal][vertical];
        map[horizontal][vertical]=map[horizontal][vertical+1];
        map[horizontal][vertical+1]=t;
    }
    maps();
}
void right()        /*右方向执行函数*/
{
    int t;
    if(map[horizontal][vertical+1]=='*')
    {
        map[horizontal][vertical+1]=map[horizontal][vertical];
        map[horizontal][vertical]=' ';
        maps();
        interface_options();
    }
    if(map[horizontal][vertical+1]==' ')
    {
        vertical=vertical+1;
        t=map[horizontal][vertical];
        map[horizontal][vertical]=map[horizontal][vertical-1];
        map[horizontal][vertical-1]=t;
    }
    maps();
}
void soul()
{
    if(map[18][63]==2)
    {
        map[18][67]='#';
    }
    if(map[18][65]==2)
    {
        map[18][64]='#';
        map[1][68]=' ';
    }
    if(map[18][58]==2)
    {
        map[18][67]=' ';
        map[18][64]=' ';
    }

    if(map[16][68]==2)
    {
        map[15][68]='#';
        map[4][68]='#';
    }
    if(map[18][68]==2)
    {
        map[18][69]='#';
        map[5][69]='*';
        map[5][67]=' ';
        map[11][2]=' ';
    }

    if(map[5][65]==2)
    {
        map[5][67]='#';
        map[9][67]=' ';
        map[9][66]=' ';
    }

    if(map[9][66]==2)
    {
        map[9][67]='#';
        map[14][67]=' ';
    }

    if(map[15][28]==2)
    {
        map[14][29]='#';
        map[12][29]=' ';
    }
    if(map[12][36]==2)
    {
        map[10][36]='#';
        map[11][38]=' ';
    }
    if(map[14][67]==2)
    {
        map[12][67]=' ';
        map[13][68]='#';
    }
   
    if(map[7][59]==2)
    {
        map[7][60]='#';
    }
    if(map[9][58]==2)
    {
        map[9][59]='#';
    }
    if(map[13][58]==2)
    {
        map[12][59]='#';
    }
    if(map[12][67]==2)
    {
        map[5][69]='#';
        map[1][0]='*';
    }
}
搜索更多相关主题的帖子: 初学 小游戏 迷宫 C语言 
2009-10-17 22:41
tuifeixiaopeng
Rank: 1
来 自:河北
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-10-6
收藏
得分:0 
怎么玩?
2009-10-18 17:30
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
收藏
得分:0 
回复 楼主 一尛星一
出口会变!慢慢仔细看地图就可以!
2009-10-18 19:06
hzd52044
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-9-11
收藏
得分:0 
真服了 YOU了 ,刚才 玩了会,很精彩 呵呵 。

[item]事业有成-0.5/1[/item]
[item]做到自己想做的0.4/1[/item]
2009-11-01 11:23
sh9264
Rank: 1
来 自:沧州
等 级:新手上路
帖 子:51
专家分:9
注 册:2009-10-24
收藏
得分:0 
hehe .很不错的呦
2009-11-06 22:30
小全要努力
Rank: 1
来 自:山东
等 级:新手上路
帖 子:19
专家分:2
注 册:2009-11-7
收藏
得分:0 
明明看见有出口了,但到了那里咋又出不去了?你比我强多了,我也是刚学,可没达到你的水平,你真是太厉害了~

年轻,一切皆有可能!
2009-11-07 15:16
storm131923
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-11-7
收藏
得分:0 
你们好强啊,为什么我什么都不会呢,我也刚学啊..........差距还不是一般的大,........
2009-11-07 16:54
书画家怀
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-12-21
收藏
得分:0 
我复制在C-free上怎么有三个错误啊
2009-12-23 11:33
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:0 
嗯,不错,不过用DOS的 cls 指令不断写屏来实现笑脸移动有点浪费了,而且一直按某个方向键的话就会看到屏幕一直闪动。你用了bioskey()为什么不用gotoxy()函数?而且要是加点颜色就好看多了

2010-01-03 10:56
快速回复:初学C语言!写的迷宫小游戏!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018463 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved