C语言---迷宫游戏 代码

原创 2015年11月18日 10:41:31
//10行10列的数组地图
char map[10][10] =
{
    //10行10列的数组地图
    {'#','#','#','#','#','#','#','#','#','#'},//0
    {'#','0',' ',' ',' ','#',' ','#',' ',' '},//1
    {'#','#',' ','#','#','#',' ','#',' ','#'},//2
    {'#','#',' ',' ',' ',' ',' ','#',' ','#'},//3
    {'#','#','#',' ','#','#',' ','#',' ','#'},//4
    {'#',' ','#',' ',' ','#',' ','#',' ','#'},//5
    {'#',' ','#',' ',' ','#',' ','#',' ','#'},//6
    {'#',' ','#',' ',' ','#',' ','#',' ','#'},//7
    {'#',' ',' ',' ',' ','#',' ',' ',' ','#'},//8
    {'#','#','#','#','#','#','#','#','#','#'},//9
    //0   1   2   3   4   5   6   7   8   9
};
//遍历数组
for (int i = 0; i < 10; i++)
{
    for (int j = 0; j < 10; j++)
    {
        printf("%c", map[i][j]);
    }
    printf("\n");
}

//初始坐标
int startX = 1;
int startY = 1;

//出口坐标
int endX = 1;
int endY = 9;

while (map[endX][endY] != '0')//如果最终位置不是0 就一直执行循坏 进行操作
{
    printf("请输入:w上,s下,a左,d右:\n");
    char choose = 0;; //w上 s下 a左 d右
    scanf("\n%c",&choose);
    
    switch (choose)
    {
        case 'w'://0向上走一格,行数-1,列数不变
            if (map[startX - 1][startY] != '#')
            {
                //0向上走一格,0原在的行和列的坐标的位置就等于‘ ’
                map[startX][startY] = ' ';
                //行数-1
                startX--;
                //此时的行数已经是原有的-1的行数了,0向上走了,所以那个坐标的位置就变成了0
                map[startX][startY] = '0';
            }
            break;//如果执行 跳出swich循环 打印操作后的数组地图
            
        case 's'://0向下走一格,行数+1,列数不变
            if (map[startX + 1][startY] != '#')
            {
                //0向下走一格,0原在的行和列的坐标就等于‘ ’
                map[startX][startY] = ' ';
                //行数+1
                startX++;
                //此时的行数已经是原有的+1的行数了,0向下走了,所以那个坐标的位置就应该变成0
                map[startX][startY] = '0';
            }
            break;//如果执行 跳出swich循环 打印操作后的数组地图
            
        case 'a'://0向左走一格,列数-1,行数不变
            if (map[startX][startY - 1] != '#')
            {
                //0向下走一格,0原在的行和列的坐标就等于‘ ’
                map[startX][startY] = ' ';
                //列数—1
                startY--;
                //此时的列数已经是原有的-1的列数了,0向左走了,所以那个坐标的位置就应该变成0
                map[startX][startY] = '0';
            }
            break;//如果执行 跳出swich循环 打印操作后的数组地图
            
        case 'd'://0向右走一格,列数+1,行数不变
            if (map[startX][startY + 1] != '#')
            {
                //0向右走一格,0原在的行和列的坐标就等于‘ ’
                map[startX][startY] = ' ';
                //列数+1
                startY++;
                //此时的列数已经是原有的+1的列数了,0向左走了,所以那个坐标的位置就应该变成0
                map[startX][startY] = '0';
            }
            break;//如果执行 跳出swich循环 打印操作后的数组地图
            
        default:
            break;
    }
    
    //打印操作后的地图结果图
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)
        {
            printf("%c", map[i][j]);
        }
        printf("\n");
    }
    
    //如果出口处等于0 程序结束
    if(map[1][9] == '0')
    {
        printf("牛逼...你通关了!\n");
    }
    
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c语言迷宫游戏代码

#include int grid[14][17]={ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {0,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1...

c语言游戏迷宫

  • 2017年06月16日 00:12
  • 210KB
  • 下载

C语言迷宫小游戏

  • 2015年04月30日 15:23
  • 183KB
  • 下载

【C语言】迷宫游戏

最近老师要做一个贪吃蛇游戏,但是不怎么会处理回显和实施输入输出之类的,有一个同学发给我一份别人的迷宫游戏,以此学习一下。/*迷宫游戏 by CDQ*/ /* vc++ 6.0 编译成功 本程序参照网上...

利用c语言做简单的迷宫小游戏

#include #define ROW 6 #define COL 6 // 封装打印地图的函数 void printMap(char map[][COL]) { ...

MazeⅡ(迷宫小游戏)C语言实现

  • 2016年05月13日 11:31
  • 14.56MB
  • 下载

随机迷宫小游戏(C语言)

  • 2010年05月15日 20:12
  • 6KB
  • 下载

c语言编写的2048游戏代码,大家可以参考一下这些

2048_launcher.c #include #include #include void main() { printf("正在启动中,请稍后!\n"); Sleep(1000); sy...

基于C语言的迷宫游戏

  • 2012年05月02日 20:44
  • 208KB
  • 下载

C语言编写的迷宫游戏

  • 2008年06月28日 11:00
  • 10KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言---迷宫游戏 代码
举报原因:
原因补充:

(最多只允许输入30个字)