数据分析:
1、定义一个二维数组作为迷宫地图
2、人用@表示,#表示迷宫的墙
3、记录所化的时间(time函数)

逻辑分析:
一个死循环
进入死循环:
1、显示地图(遍历二维数组)
2、等待获取命令(方向键)并处理
判断前方是不是路’ ’
如果是:
1、把旧位置变成’ ’
2、把新位置变成‘@’
3、更新角色位置坐标 x y
3、判断是否到达出口(可以提到2之前)
如果是:程序结束
不是:继续执行程序

#include<stdio.h>
#include<getch.h>
#include<stdlib.h>
#include<time.h>
int main(int argc,const char* argv[])
{//地图
char maze[10][10] = {{'#','#','#','#','#','#','#','#','#','#'},{'#',' ','#','#','#',' ',' ',' ','#','#'},{'#','@','#','#','#',' ','#',' ','#','#'},{'#',' ','#','#','#',' ','#',' ',' ','#'},{'#',' ','#','#','#',' ','#','#',' ','#'},{'#',' ','#','#','#',' ','#','#',' ','#'},{'#',' ',' ',' ','#',' ','#','#',' ',' '},{'#','#','#',' ','#',' ','#','#','#','#'},{'#','#','#',' ',' ',' ','#','#','#','#'},{'#','#','#','#','#','#','#','#','#','#'},};//记录角色的位置坐标char man_x = 2,man_y=1;//计入游戏开始时间time_t start_time = time(NULL);for(;;)//死循环{//清理屏幕system("clear");//显示地图打印二位数组for(int i=0;i<10;i++){for(int j=0;j<10;j++){   printf("%c ",maze[i][j]);}printf("\n");}//判断是否到达出口if(man_x == 6 && man_y == 9){printf("\n你逃出迷宫了!\n");printf("你花费了%lu秒!",time(NULL)-start_time);return 0;}//方向键处理switch(getch()){case 183://人向上的判断if(' ' == maze[man_x-1][man_y]){maze[man_x][man_y] = ' ';maze[--man_x][man_y] = '@';}break;case 184://人向下的判断if(' ' == maze[man_x+1][man_y]){maze[man_x][man_y] = ' ';maze[++man_x][man_y] = '@';}     break;case 186://人向左的判断if(' ' == maze[man_x][man_y-1]){maze[man_x][man_y] = ' ';maze[man_x][--man_y] = '@';}break;case 185://人向右的判断if(' ' == maze[man_x][man_y+1]){maze[man_x][man_y] = ' ';maze[man_x][++man_y] = '@';}break;}}return 0;}

结果实例:



简易版走迷宫(c语言)相关推荐

  1. c语言大作业走迷宫,C语言笔记07_小游戏设计——“走迷宫”

    C语言07 小游戏设计--走迷宫 目标: 我们要设计一个完整的小游戏"走迷宫".你将可以通过控制键盘上的"W"."S"."A&qu ...

  2. 老鼠走迷宫C语言程序,老鼠走迷宫程序实例

    /*-------------------------------------------------------------------------------------------- //文件名 ...

  3. 智能车走迷宫c语言程序,基于51单片机的智能迷宫小车设计 含PCB原理图 源程序...

    #include #include #include #include #include #define uchar unsigned char  //无符号字符型占用一个字节 范围0~255, #d ...

  4. 老鼠走迷宫C语言程序,电子老鼠走迷宫(广搜)WA

    #include #include using namespace std; void bfs(); int x1,y1,x2,y2; int used[50][50]={0} ; int s[20] ...

  5. 智能机器人走迷宫c语言游戏,(动态规划)机器人走迷宫问题(示例代码)

    题目一:https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358?tpId=46&tqId=29117&tP ...

  6. C语言-老鼠走迷宫(深度寻路算法)

    老鼠走迷宫-c语言(基于深度优先的寻路算法) 这个是学校的课设,刚开始有点头疼,但是感觉越做越有意思了,于是就有如下代码,可能相较于大佬还有差距,但是这是我目前所能做的最优的程序了吧! 话不多说,说一 ...

  7. 用Java语言,写一个植物大战僵尸简易版!

    前言 有谁没玩过植物大战僵尸吗? 小灰的一位读者,用Java语言开发了自己的植物大战僵尸游戏.虽然系统相对简单,但是麻雀虽小五脏俱全,对游戏开发感兴趣的小伙伴可以学习一下哦~~ 游戏设计 植物大战僵尸 ...

  8. 用 Java 语言,写一个植物大战僵尸简易版!

    作者 | 林Lychee 来源 | 程序员小灰 前言 有谁没玩过植物大战僵尸吗? 小灰的一位读者,用Java语言开发了自己的植物大战僵尸游戏.虽然系统相对简单,但是麻雀虽小五脏俱全,对游戏开发感兴趣的 ...

  9. C语言实现一个走迷宫小游戏(深度优先算法)

    补充一下,先前文章末尾给出的下载链接的完整代码含有部分C++的语法(使用Dev-C++并且文件扩展名为.cpp的没有影响),如果有的朋友使用的语言标准是VC6的话可能不支持,所以在修改过后再上传一版, ...

最新文章

  1. 使用 Matplotlib 这么久,竟不知道数据可以动起来
  2. js_xpath_搞不定的东西
  3. Linux无法启动(一)
  4. Windows下 MySQL命令 常用操作
  5. android studio安装教程博客园独王,Android Studio安装与配置
  6. 【STM32】 keil软件工具--configuration详解(下)
  7. 梁俊斌:音频技术可以延展众多应用场景
  8. 【STM32入门】这个项目绝了,用手势来产生波形,基于手势控制的波形发生器
  9. 最简单的6种防止数据重复提交的方法!(干货)
  10. Kafka集群安装Version2.10
  11. android设置自动开关机,Android开发之设置开机自动启动的几种方法
  12. [LevelDB] 编译和使用
  13. pycharm编程工具自带python环境_Python IDE专用编辑器PyCharm下载及配置安装过程(Ubuntu环境)...
  14. python turtle画房子详细解释_Python turtle 绘图入门必知必会
  15. 语音识别 | 数据堂方言语音数据集
  16. 凯撒密码的超详细讲解
  17. 【MMD动作+镜头】Bo Peep Bo Peep
  18. 弹性碰撞后速度方向_碰撞模型中的速度关系推导
  19. 美国国父乔治华盛顿首任就职演说
  20. [ECharts] DEPRECATED: ‘normal‘ hierarchy in itemStyle has been removed since 4.0. All style properti

热门文章

  1. 针对jetbrains旗下软件出现问题的汇总
  2. ADB常用命令总结-001
  3. spring boot 潜入浅出
  4. linux游戏版本更新,Wine终于更新版本!5.0模式在游戏上下足功夫,《古墓丽影》玩起来...
  5. QAD事务类型对照表
  6. 玩消费电子产品,常用6款传感器不可不知
  7. 【STM32】 硬件IIC 驱动SSD1302(0.96 OLED模块) -- 3/4 OLED的命令表 学习
  8. 数据库修改登录密码方法
  9. 端午节传统食物有哪些,端午节吃什么
  10. 腾讯QQ2008去广告 显IP 显隐身三合一绿色版