网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月05日
漏签
0
天
c++吧
关注:
537,772
贴子:
2,090,255
看贴
图片
吧主推荐
游戏
1
2
3
4
5
下一页
尾页
95
回复贴,共
5
页
,跳到
页
确定
<<返回c++吧
>0< 加载中...
【贪吃蛇】详细实现过程,望互相学习。
只看楼主
收藏
回复
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
上图只是完成了一个基本的框架。实现的只是基本功能,上下左右,加速等。
我是明硕
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
贡献代码
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1.分解:整个游戏可分解成 边框 + 蛇 + 障碍物(暂不考虑) + 食物 + 提醒信息(暂不考虑)
为了简单实现,对于障碍物,提醒 暂不考虑
2.还是分解:无论边框, 蛇, 食物 都可以看做是由一点 或者多点构成。
于是可确定点point 是最小单位。
别的补说,列代码:
─┈
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
马克
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1.数据成员:
点有自身的坐标,x,y。 左右兄弟点。
2.成员函数
(1)构造函数,
(2)设置左兄弟点。
(3)设置右兄弟点。
(4)将自己的位置设置成另一点的位置。
(5)重载上一个函数,设置相应的位置。
(6)返回左兄弟点
(7)返回右兄弟点
(8)返回x
(9)返回y
(10)将自身画出来
(11)将自身画出来,需要指定形状
(12)序析构函数
除了draw 函数,其他都已经实现了。
这里指定draw为纯虚函数,point类作为抽象类
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
成员函数:
(1)draw(string);
依赖于windows.h文件, 将str的内容在指定坐标打印出来
(2)draw()
默认打印圆形 一个●是 2 个字节大小的;
下面的实现会极度依赖于2这个数。
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你还真行2012
&&
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
楼主加油
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
第一个类pointFactory是抽象工厂类
第二个类circlePointFactory 是生产圆点的工厂。
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
btt1095347198
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
目测很nb
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
蛇类:
1.数据成员
蛇具有 前进方向, 头(head)和尾(tail)
2.成员函数
(0)枚举方向,东南西北。
(1)构造函数
(2)虚析构函数,蛇负责析构全身的所有点
(3)draw()画出自身
(4)沿着dir方向前进一格
(5)吃食物,
算法: 如果当前蛇为空,那么迟进的食物作为头和尾 否则
将吃进的食物作为头,原来的头退居第二节点。
夜神月YOONA
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
(6)
canEat(p)判断当前食物是否能吃到
算法:
如果当前方向为East 食物刚好在头的东边 能吃到
如果当前方向为South 食物刚好在头的南边 能吃到
如果当前方向为West 食物刚好在头的西边 能吃到
如果当前方向为North 食物刚好在头的北边 能吃到
因为圆点占2个字符,所以x的步长为2, 屏幕坐标原点是左上方。
(7)取蛇头
(8)设置前进方向
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示