≡
导航
搜索
教程
插件
模型
模板
博客
交易
朋友
编程语言分享讨论总汇吧
已关注 | 取消
+关注
关注:
10
帖子:
1,222
签到
05月05日 尚未签到
看帖
图片
精品
视频
共有回帖数
0
个
【贪吃蛇】!亮点以上~~…
只看楼主
收藏
回复
做月子
等级:
首先,写在前面,由于第一次写教程,可能会有错误的地方,欢迎指出!
好了 第一步,打开VS2010 或 VC6.O 等等,创建项目
1:包含graphics.h 头文件 ,额 由于我们需要EGE进行绘图,所以包含此头文件,其实就用其中几个命令, bar 画矩形 setfillstyle 置颜色啊,如果不知道这个EGE 可以再贴吧首页右侧的 “这里都是好东西中找到“炮姐的EGE资源”..”
2:这个..,不解释
3:这个头文件包含 了这个函数 getch 具体用来获得键盘信息的
4:这个是时间相关的 ,具体的 用来给随机数置种子的..
这个...没啥可解释的,就是声明结构,具体的,里面有蛇的横坐标,和纵坐标。有人可能会发现少定义一个东西,其实我是故意的,具体的,等下你就知道啦。
1:不在做解释
2:置填充颜色,具体的 看4
3:循环体 我们把蛇分为一节一节,所以了,每节都要画 ,由于数字从0开始,所以画到n-1个。也就是n
4:bar()函数就是EGE画一个矩形 其中第一个参数是 矩形左部X标,第二个参数是矩形上部y左部,第三个参数是矩形右部x1坐标,(改点取不到,实际右部边界为这个参数-1,其实就一个..变化不大,我们可以忽视,下同)第四个参数是矩形下部y1坐标。然后矩形的宽和长就是x1-x y1-y 填充颜色由2 这个函数决定
1 :初始化画图窗口 你要问这为什么要做的话..这就和为什么要写main一样
2:额..置颜色么...这个也不用吧, 写程序是忘记删了,当时到处加这个...不过你也可以加上,没什么影响..
3:初始化蛇的坐标,y不变 ,x依次加30 为什么要加30 呢,因为我想..你也可以换一个数值,不过上面画矩形的时候,就不是加30 而是加上你换的数值,
4,6:调用函数..
5:你用理所当然的想到要延时嘛,不然蛇就抽搐下去了,
7,8;一个暂停用,一个关闭画图区域;
然后,你可以调试一下
哈哈,是不是蛇一直无限度增长了啊,是啊
我们忘记擦掉最后一节了(众人:要不是你诱惑我调试,我能犯这样错误么)
额,补上这代码,其实原理很简单,怎么擦呢
我们再在蛇尾的地方画上一个同样大小的矩形,不过把颜色设置为和背景色一样就行了,应为没有初始化背景色,所以默认是黑色:于是上代码:
已经完成了一步了,接下来,我们获取键盘信息,然后让蛇拐弯之类的:
具体的用 kbhit()函数,额,前面加头文件的时候忘记提了..
具体用法:
”检查当前是否有键盘输入,若有则返回一个非0值,否则返回0“
这个时候我们需要知道方向键键代码的值,这个怎么知道呢,一些同学可能会想到查ASCII 额..还是ACSII (居然把名字忘了,该死)表。如果这样,(而且那表里也没有),你就错了,因为有了第一个头文件的原因,所以我们的键代码和原来不加第一个头文件变得不同,那么我们怎么知道呢,我们可以让它自己告诉我们,具体的 看一下代码:
然后我们就可以写 了,写之前我们先思考一个问题,我们将获得的键代码与其进行比较,然后让蛇的X,Y加减之类的,但是,蛇刚开始蛇头是不动的,刚刚让你加了一段调试代码,如果还在的话,你在让y变化的话,想象一下,x,y同时变化,蛇是不是斜着走了呢,那么我们就想,在键被按下了后,那句调试代码就不执行了,显然这似乎行得通,不过看样子挺麻烦,于是,我们可以再蛇的结构了定义一个有关方向的,并让他初始化为向右,然后键被按下后,我们改变这个值,然后我们只要检测这个成员的值就行了,于是我们写了下面代码,首先加上这个成员:
哇哦,成功啦,可以让蛇改变方向,但是有没有发现一个问题,就是当蛇向左走时,你按右,蛇也会变方向,上下同理。这个就是代码的问题 了,上述代码并没有检测是否是相反的方向键,于是我们就开始想,如果键代码为上,就看按下的是不是下,如果是,就不执行下面的,如果不是,那么执行,但是,这样要判断四种情况,会拖慢程序运行速度,具体的表现为,你按下键了,要等一下,蛇头才会改变方向,这时候怎么办呢,我们可以观察一下四个方向键的值,你看看,是不是上减下或下减上为2 或-2 呢。左右同理..于是,我们可以加入下面的代码:
如果撞了,那么直接退出了,....本来还想写点记分牌啊,输出”你输了“之类的,不过时间不够了,今天放学早,来写了这个教程,喵喵的,明后两条居然还要上课了,哎,作业也么做呢,不说了,具体的:几分牌之类的,这个不是很难,可以参考EGE手册,
以上,,如果有错误。希望指出。感激不敬!
楼主 2015-07-15 13:25
回复
共有回帖数
0
个
回 帖
表情
图片
视频
欢迎来到本吧,您可以在此发帖和众多大咖交流学习.
选择或直接输入昵称
Tips:支持QQ截图直接粘贴
发表
登录直线网账号
自动登录
忘记密码
免费注册
本吧信息
查看详情
吧主:
禾木
本吧公告
好好学习,天天向上!
我常逛的吧
我管理的吧
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈
|
关于直线
|
版权声明
|
会员须知