走迷宫

先用代码绘制一个迷宫

char map[10][21]={"#****#####********#*","###*##**######**###*","#*#*#*******######**","#*###***##****###***","##***###****###*#***","######*******##*#***","***##**#**####***#**","**##***#**#**#*###**","*##*##*###***###****","*####*####*****####P",};

根据输入指令进行移动函数

void move(char dir)//人移动函数
{switch(dir){case'w':curY--;if(curY<0) curY++;//越上界 if(map[curY][curX]=='*') curY++;//撞墙 break;case's':curY++;if(curY>=10) curY--;//越下界if(map[curY][curX]=='*') curY--;//撞墙 break; case'a':curX--;if(curX<0) curX++;//越左界 if(map[curY][curX]=='*') curX++;//撞墙 break;case'd':curX++;if(curX>=20) curX--;//越右界 if(map[curY][curX]=='*') curX--;//撞墙 break; }
}

设置移动坐标

int curX=0,curY=0;//出生点
void printperson()//结构体变量
{COORD pos;//需要头文件windows pos.X=curX;pos.Y=curY;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);//光标移动 printf("k");//K代表人
}

主体代码

int main()
{char dir;//printmap();//printf("走迷宫游戏开始");while(1)//死循环,重复走 {system("cls");printmap();//刷新地图 printperson();//定位光标 dir=getch();//输入方向,需要头文件conio move(dir);if(map[curY][curX]=='P')break;} printf("恭喜你,通关了!"); return 0;
}

完整代码

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
char map[10][21]={"#****#####********#*","###*##**######**###*","#*#*#*******######**","#*###***##****###***","##***###****###*#***","######*******##*#***","***##**#**####***#**","**##***#**#**#*###**","*##*##*###***###****","*####*####*****####P",};
void printmap()
{int i,j;for(i=0;i<=10;i++){for(j=0;j<=20;j++)printf("%c",map[i][j]);printf("\n");//输出迷宫 }
}
int curX=0,curY=0;//出生点
void printperson()//结构体变量
{COORD pos;//需要头文件windows pos.X=curX;pos.Y=curY;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);//光标移动 printf("k");//K代表人
}
void move(char dir)//人移动函数
{switch(dir){case'w':curY--;if(curY<0) curY++;//越上界 if(map[curY][curX]=='*') curY++;//撞墙 break;case's':curY++;if(curY>=10) curY--;//越下界if(map[curY][curX]=='*') curY--;//撞墙 break; case'a':curX--;if(curX<0) curX++;//越左界 if(map[curY][curX]=='*') curX++;//撞墙 break;case'd':curX++;if(curX>=20) curX--;//越右界 if(map[curY][curX]=='*') curX--;//撞墙 break; }
}
int main()
{char dir;//printmap();//printf("走迷宫游戏开始");while(1)//死循环,重复走 {system("cls");printmap();//刷新地图 printperson();//定位光标 dir=getch();//输入方向,需要头文件conio move(dir);if(map[curY][curX]=='P')break;} printf("恭喜你,通关了!"); return 0;
}

运行结果

C语言实现简易走迷宫游戏相关推荐

  1. c语言课程设计走迷宫游戏,C语言课程设计-迷宫游戏.doc

    计算机技术基础课程设计 C语言 设计报告 题目:完整的二维迷宫游戏 学院:工商管理学院 专业:信息系统与信息管理 班级:050507 姓名:孙月 指导教师:张首伟 设计日期:2004年12月10日 题 ...

  2. c语言模拟走迷宫课程程序设计报告,《C语言程序设计》走迷宫游戏程序设计.doc...

    #include #define Height 33 #define Width 31 #define Wall 1 #define Road 0 #define Start 2 #define En ...

  3. c语言自动按键脚本,C语言键盘控制走迷宫小游戏

    本文实例为大家分享了C语言键盘控制走迷宫小游戏的具体代码,供大家参考,具体内容如下 在看了<啊哈C语言>之后想写一个游戏demo 游戏的截图 首先是启动界面 然后是初始化 接下来是键盘操控 ...

  4. c语言大作业走迷宫,基于C语言实现简单的走迷宫游戏

    本文实例讲述了C语言实现简单的走迷宫游戏的方法,代码完整,便于读者理解. 学数据结构时用"栈"写的一个走迷宫程序,实际上用到双向队列,方便在运行完毕后输出经过的点. #includ ...

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

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

  6. C语言小项目——走迷宫

    C语言小项目--走迷宫 设计方向: 1.定义二维字符数组作为迷宫 2.定义变量记录老鼠的位置 3.判定移动后位置的变化 4.记录游戏时长 5.判定到达终点的条件 总体设计: 1.用不同字符代表墙.老鼠 ...

  7. Dev-c++编写走迷宫游戏 思路和代码 详解

    创作背景 今天又是放元旦假的一天,无聊的我刷够了手机,就跑过去打开电脑······ 熟悉的Dev-c++图标又映入我的眼帘,今天编点什么呢······ 我绞尽脑汁,冥思苦想,终于想到了一个游戏--走迷 ...

  8. 用C语言做一个走迷宫代码

    Hello大家好,我是木头做的鱼,木鱼啊. 今天我要分享一个的走迷宫游戏代码. (作者制作不易,请珍惜) 我们可以先设计一个简单的迷宫先,代码如下: char a [50][50]={"## ...

  9. 遗传算法在走迷宫游戏中的应用

    我的数据挖掘算法库:https://github.com/linyiqun/DataMiningAlgorithm  我的算法库:https://github.com/linyiqun/lyq-alg ...

  10. C语言实现老鼠走迷宫(附源码)

    CSDN源码下载:C语言实现老鼠走迷宫.zip 1.需求分析   利用二维数组创建一个随机迷宫或者自定义迷宫,再在迷宫中找到一条从起点到终点的路径,并用图形界面显示. 2.概要设计 3.详细设计 输入 ...

最新文章

  1. 你知道实习对你有多重要吗?
  2. Xamarin图表开发基础教程(7)OxyPlot框架
  3. 如何理解写文档这件事情 ?
  4. Work measurement II
  5. 安卓java模拟器_用大白话告诉你:Java 后端到底是在做什么?
  6. 十二月份找工作好找吗_学习完3D游戏建模好找工作吗
  7. 【Linux】高效快速的指令:linux磁盘管理、vi、sed、find、grep、awk等
  8. snap chrominu has install-snap change in progress
  9. Apache反向代理设置
  10. 七牛的管理接口不支持js端发送请求进行管理(设计到跨域问题)
  11. java 检测u盘_Java简单U盘检测程序
  12. 基于Pacemaker+Corosync的PostgreSQL HA故障两例
  13. python学习__tsv文件写入多余空行问题
  14. netcore 动软三层架构-急速开发框架 winfrom demo
  15. 【密码学】费马小定理素性检测(C++代码实现)
  16. 【Java程序设计】Java上机实验(二)
  17. 论文笔记 |【AAAI2022】Best-Buddy GANs for Highly Detailed Image Super-Resolution
  18. 物联网lora无线数传模块应用案例:LoRawan网关通信技术
  19. IMU、角速度、线速度校正
  20. 我CSDN博客被黑经历

热门文章

  1. linux 跨平台查询 lxr,LXR( Linux超文本交叉代码检索工具)
  2. Remote Photoplethysmograph Signal Measurement from Facial Videos Using Spatio-Temporal Networks
  3. 微信小程序“满月”:尝鲜之后你还用过它吗?
  4. Win10安装3.5无法安装.net framework 3.5
  5. 医疗保健中的 NLP:实体链接
  6. android系统粘贴弹框 点击,DialogFragment——解决PopupWindow中的输入框无法复制粘贴的问题;Android中的两种弹窗PopupWindow和Dialog的区别。...
  7. IT行业博客网站分析和创新
  8. 递归函数求解年龄(C语言)
  9. kali渗透之DC-4
  10. Unity3D 官方文档 平台特殊化之Standalone和多显示器的处理