码迷,mamicode.com
首页 > 其他好文 > 详细

三、迷宫(小游戏)详解

时间:2014-10-26 22:43:20      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   ar   sp   文件   数据   

三、迷宫(小游戏)详解

             今天上午抽了一点时间将昨晚的迷宫问题做了一下总结,有兴趣的可以看下。
bubuko.com,布布扣
这整体运用的方法与我们上学期的课程设计差不多,同样的c语言,同样的模块化设计,只不过多了些句柄的知识。
A:头文件就不需要说明了,都应该能懂;
B:所需的模块化函数:
界面方面的(void facemap(),void win(),void start()),3个
确定光标位置的函数一个(void gotoxy(int x,int y)),1个
光标移动方式函数(void facemove),1个
颜色设定函数(void facemove),1个,
主函数(main),1个。
bubuko.com,布布扣
C:主函数
设置一个标志变量,作为条件时,死循环,当然从节约内存的方面考虑,你也可以直接用1,也是可行的。
欢迎界面→进入迷宫地图→开始行走
D:颜色设定函数
bubuko.com,布布扣
句柄变量(hConsole),HANDLE就相当于一个数据类型;
 标准输出的句柄GetStdHandle((STD_OUTPUT_HANDLE)) ,就是在输出的窗口改变相应的颜色;
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes ); ,这个是颜色设定的函数原型,它有两个参数,第一个就是控制台的句柄变量,第二个就是控制颜色的参数,具体如下:
bubuko.com,布布扣 
E:迷宫地图

bubuko.com,布布扣

bubuko.com,布布扣
所谓的迷宫地图就是设定一个二维数组,并将其输出,非常好理解。sleep(100)是延时100毫秒,头文件为#include<windows.h>

F:光标位置移动方式
bubuko.com,布布扣
printf(“%c”,2)会输出一个笑脸;
swith()就是按照你的输入(前后左右),判断对于应位置是否为空格,若为空格证明此路可通,光标指向笑脸,用空格将笑脸覆盖,光标指向那个可行的位置,在那个位置在输出一个新的笑脸,从而就实现了视觉上笑脸在移动。实际上在下一个位置产生新的笑脸,上个笑脸已被空格覆盖。当到达最左边时,即为出口,结束走位。
G:退出界面
bubuko.com,布布扣
这个模块蛮好理解,就不多说了。
H:欢迎界面
bubuko.com,布布扣
类似。
这就是这个迷宫的所有内容了,个人觉得难点在于对光标与笑脸配合移动的理解,还有个是遇墙的判断,那个有点不好理解,不过我将学长的方法改了,用空格表示可行,这就看起来蛮好理解。若要已墙为条件的话,一个黑色方块是两个字节,你所用来判断的p[m][n]只能表示一个字节,你就需要解决这个矛盾了。解决方法:将汉字双字节拆分,得到左字节为-88,右字节为126。然后以他们作条件去判断即可。其实迷宫的美化我做的并不好,我有一些想法想加里面,但是在美化方面,比如颜色的和谐性等等我都做的不够好,以至于还是不加的好。
                                                                                                                                                                          by  张辉
                                                                                                                                                                                       2014年10月24日

三、迷宫(小游戏)详解

标签:style   blog   http   color   os   ar   sp   文件   数据   

原文地址:http://www.cnblogs.com/zhnaghui/p/4052771.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!