#include <stdio.h>
//宏定义 maze[ROWS][COLS];行和列;
#define ROWS 7
#define COLS 6
//绘制迷宫(全局变量)
char maze[ROWS][COLS]= {
{'#','#','#','#','#','#'},
{'#','','#',' ',' ',' '},
{'#',' ','#',' ','#','#'},
{'#',' ','#',' ',' ','#'},
{'#',' ',' ','#',' ','#'},
{'#','#',' ',' ',' ','#'},
{'#','#','#','#','#','#'}
};
//设置X,Y坐标(全局变量);
int currentX=,currentY=;
//移动后的XY坐标(全局变量);
int nextX,nextY;
//看下一步是否能走 int[x][y]==' ' ;
char street = ' '; //初始化函数
void printMaze();
void moveToNextPosition();
void calculateNextPosition(char direction); int main(int argc, const char * argv[]) {
nextX = currentX;
nextY = currentY;
//屏幕打印出迷宫;
printMaze();
char direction;
while () {
printf("请移动人物,用键盘W/S/A/D(上下左右)操作\n");
scanf("%c",&direction);
calculateNextPosition(direction);
moveToNextPosition();
printMaze();
if (currentX==ROWS-||currentY==COLS-){
printf("通关了,呵呵!");
break;
}
}
return ;
} //打印地图
void printMaze(){
for(int i = ;i<ROWS;i++){
for (int j = ;j<COLS;j++) {
printf("%c",maze[i][j]);
}
printf("\n");
}
}
//移动人物
void moveToNextPosition(){
if (maze[nextX][nextY]==street) {
char temp = maze[currentX][currentY];
maze[currentX][currentY] = maze[nextX][nextY];
maze[nextX][nextY] = temp;
currentX = nextX;
currentY = nextY; }else{
nextX = currentX;
nextY = currentY;
}
}
//计算下一个位置
void calculateNextPosition(char direction){
switch (direction) {
case 'w':{
nextX = currentX - ;
break;
}
case 's':{
nextX = currentX + ;
break;
}
case 'a':{
nextY = currentY - ;
break;
}
case 'd':{
nextY = currentY + ;
break;
}
default:
break;
}
}

C语言(简单游戏)-走出迷宫的更多相关文章

  1. 搜索4--noi6264:走出迷宫

    搜索4--noi6264:走出迷宫 一.心得 可以去看看别人的代码,吸收精华 二.题目 6264:走出迷宫 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 当 ...

  2. 一本通之 一堆迷宫 (Dungeon Master&走出迷宫&走迷宫)

    一本通在线崩溃....... . 有图有真相 这是个三维迷宫,其实和二位迷宫差不多,只是方向多加了2个. 但这个题的输入十分恶心,一度被坑的用cin.ignore(),但还是不过... 它的正确输入方 ...

  3. Openjudge 2.5 6264:走出迷宫

    总时间限制:  1000ms 内存限制:  65536kB 描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n* ...

  4. 罗培羽—C语言简单游戏编程教学

    编写许多软件都需要有菜单,那么如果我们使用tc之类的软件来编译程序的话,我们该怎么编写菜单呢?让我们一起来试试吧!第一步:简单例子       我们先来写个最简单的例子:#include<std ...

  5. 走出MFC子类化的迷宫

    走出MFC子类化的迷宫 KEY WORDS:子类化 SUBCLASSWINDOW  MFC消息机制 许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习 ...

  6. C语言编写一个简单游戏

    感悟:这算是一个起点吧,我都大二了,还这么菜,才开始写游戏,这个游戏很简单,利用随机数猜大小! #include <stdlib.h> #include <stdio.h> # ...

  7. 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏

    ​ 内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...

  8. c语言小游戏-扫雷的完成

    C语言-扫雷游戏 本文将对此游戏做一个大致的概述,此代码适合初学者,编写软件使用了vs2017. 该代码可以实现如下功能: 1.用户可以选择3个难度,分别布置不同个数的雷. 2.随机数设置雷的位置. ...

  9. 为什么DIY报价----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十二)[转]

    前段时间,写了一个开发.实施.服务费用计算三部曲. 水清则无鱼--走出软件作坊:三五个人十来条枪 如何成为开发正规军(八) 实施费用也能DIY--走出软件作坊:三五个人十来条枪 如何成为开发正规军(九 ...

随机推荐

  1. 如何同时启动多个Tomcat服务

    在项目开发中,有时会需要同时启动多个Tomcat服务,如果直接启动多个的话,会报以下错误: Port busy xxxx java.net.SocketException: Unrecognized ...

  2. Java中throws和throw的区别讲解

    当然,你需要明白异常在Java中式以一个对象来看待.并且所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示, ...

  3. Codeforces Gym 100570 E. Palindrome Query Manacher

    E. Palindrome QueryTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100570/pro ...

  4. 一个简单的小例子让你明白c#中的委托-终于懂了!

    模拟主持人发布一个问题,由多个嘉宾来回答这个问题. 分析:从需求中抽出Host (主持人) 类和Guests (嘉宾) 类. 作为问题的发布者,Host不知道问题如何解答.因此它只能发布这个事件,将事 ...

  5. 偶然发现关于网页JavaScript脚本无法正常运行的原因

    客户常常打电话投诉公司的销售系统有问题, 后来发现有的客户直接把网址设为受限网站,才导致系统无法正常执行.改动后正常.

  6. [置顶] 递归 加引用 实现tree 和 无限级菜单

    <?php class k_model_menu_menu {     private $data = array();     private $rdata = array();     pr ...

  7. [Angular 2] Understanding OpaqueToken

    When using provider string tokens, there’s a chance they collide with other third-party tokens. Angu ...

  8. JAXB完毕XML与Java对象的互转

    这段时间都老忙了,甚至连周末全部人员都在赶产品的进度,想想连续上12天班,人都有点晕了! 到这会儿最终有点时间.所以准备和大家分享一下JAXB,会不会有人认为有点陌生呢?没事,这里跟大伙儿简单的描写叙 ...

  9. objective-c对NSArray的学习

    转自:http://gekie.iteye.com/blog/1086256 NSARRAY简单的使用 定义数组,遍历数组: 1 2 3 4 5 6 7 8 NSArray *array; array ...

  10. True Zero Downtime HAProxy Reloads--转载

    原文地址:http://engineeringblog.yelp.com/2015/04/true-zero-downtime-haproxy-reloads.html HAProxy: Corner ...