C语言(简单游戏)-走出迷宫
#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语言(简单游戏)-走出迷宫的更多相关文章
- 搜索4--noi6264:走出迷宫
搜索4--noi6264:走出迷宫 一.心得 可以去看看别人的代码,吸收精华 二.题目 6264:走出迷宫 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 当 ...
- 一本通之 一堆迷宫 (Dungeon Master&走出迷宫&走迷宫)
一本通在线崩溃....... . 有图有真相 这是个三维迷宫,其实和二位迷宫差不多,只是方向多加了2个. 但这个题的输入十分恶心,一度被坑的用cin.ignore(),但还是不过... 它的正确输入方 ...
- Openjudge 2.5 6264:走出迷宫
总时间限制: 1000ms 内存限制: 65536kB 描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n* ...
- 罗培羽—C语言简单游戏编程教学
编写许多软件都需要有菜单,那么如果我们使用tc之类的软件来编译程序的话,我们该怎么编写菜单呢?让我们一起来试试吧!第一步:简单例子 我们先来写个最简单的例子:#include<std ...
- 走出MFC子类化的迷宫
走出MFC子类化的迷宫 KEY WORDS:子类化 SUBCLASSWINDOW MFC消息机制 许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习 ...
- C语言编写一个简单游戏
感悟:这算是一个起点吧,我都大二了,还这么菜,才开始写游戏,这个游戏很简单,利用随机数猜大小! #include <stdlib.h> #include <stdio.h> # ...
- 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏
内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...
- c语言小游戏-扫雷的完成
C语言-扫雷游戏 本文将对此游戏做一个大致的概述,此代码适合初学者,编写软件使用了vs2017. 该代码可以实现如下功能: 1.用户可以选择3个难度,分别布置不同个数的雷. 2.随机数设置雷的位置. ...
- 为什么DIY报价----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十二)[转]
前段时间,写了一个开发.实施.服务费用计算三部曲. 水清则无鱼--走出软件作坊:三五个人十来条枪 如何成为开发正规军(八) 实施费用也能DIY--走出软件作坊:三五个人十来条枪 如何成为开发正规军(九 ...
随机推荐
- 蓝底白字到图形界面 主板BIOS发展简记
本文转载:http://mb.zol.com.cn/229/2295738.html http://www.360doc.com/content/12/0306/14/1309227_19219857 ...
- VS DLL 复制本地
1.引用一个DLL,需要指定路径,复制本地的意思是 把这个DLL复制到exe的Debug目录(调试的时候). 2.复制到本地的动作是在生成的时候执行的,清理的时候会删除. 3.从外部引用一个DLL,不 ...
- IOS Note - View Controller(视图控制器)
Application Delegate(应用程序委托) Application Name: SingleView SingleViewAppDelegate.h #import <UIKit/ ...
- iOS开发——UI篇OC篇&UITableView简单封装
UITableView简单封装 UITableView时iOS开发中使用最多也是最重的一个UI空间,其实在App Store里面的%80以上的应用都用到了这个控件,所以就给大家介绍一下,前面的文章中也 ...
- Android 官方文档:(二)应用清单 —— 2.10 <instrumentation>标签
syntax: <instrumentation android:functionalTest=["true" | "false"] ...
- mysql 5.6 binlog组提交
mysql 5.6 binlog组提交实现原理 http://blog.itpub.net/15480802/viewspace-1411356 Redo组提交 Redo提交流程大致如下 lock l ...
- java_DAO类基本设计
package cn.itcast.oa.base; import java.util.List; public interface BaseDao<T> { void save(T en ...
- Helpers\SimpleCurl
Helpers\SimpleCurl The SimpleCurl class is there to curl data from RESTful services. A lot of compan ...
- Storm中的LocalState 代码解析
官方的解释这个类为: /** * A simple, durable, atomic K/V database. *Very inefficient*, should only be * used f ...
- css笔记07:通配符选择器
通配符选择器: * { margin:10px ;//默认四个位置参数全为零 margin-top:10px;//分别设置四个参数 margin-left:10px; margin-right:0px ...