收藏 分享(赏)

贪食蛇游戏的设计.doc

上传人:czsj190 文档编号:6316708 上传时间:2019-04-07 格式:DOC 页数:3 大小:46KB
下载 相关 举报
贪食蛇游戏的设计.doc_第1页
第1页 / 共3页
贪食蛇游戏的设计.doc_第2页
第2页 / 共3页
贪食蛇游戏的设计.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、贪食蛇游戏的设计关于游戏的介绍:贪食蛇游戏是一条不停游动的蛇不断的捕食来达到自身的增长,但是若蛇碰到自身的身体或者碰到了任何障碍物,则游戏结束。在该篇文章中,我并不讨论游戏的规则,而只是实现一个游动的蛇。通过该实现来看关于面向对象的设计。寻找规律,建立对象模型:首先从物理的角度来分析蛇得运动规律。它是蠕动的,像水一样流动。他有个特性就是身体的每一个点都经过他头部所在的点,他每一个时刻骨节所要运动的目的地是他前一个骨节所在的位置。不难看出,其中的对象模型为蛇,骨骼,骨节,头抽象的接口为蛇,骨骼,骨节,头,图元结构图:接口结构图骨骼骨骼骨骼 骨节蛇 图元头对象结构图骨骼骨节 蛇图元头骨节头骨骼 蛇

2、给接口添加行为:图元(GraphicObject)绘画:进行图元自身的绘画操作当前矩形:得到图元当前所在的矩形,也可考虑使用 region,这样使得对图元范围得描述更加具体。骨节(Condyle)前一个骨节:提供前序访问后一个骨节:提供后序访问流动:进行骨节运动诡计得计算。骨骼(Cadre) (管理骨节链)得到头:得到蛇头得到尾:得到蛇尾新增骨节:在骨节链中新增骨骼删除骨节:在骨节链中删掉指定骨节头(head)方向:能够设定和访问当前运动方向。蛇(Snake)增长:蛇进行自身得增长完善模型,引入访问者模式存在的问题:当前是由具体的骨骼对象来负责图元的绘画以及处理流动的,而骨骼只是管理骨节,没有

3、提供任何访问骨节的方法,我们应该怎样访问骨节呢?比如我们要每个骨节画出自己的形态,我们可能会这样做。在骨骼上提供一个绘画方法,然后通过遍历骨节链,调用每个骨节的绘画方法。这样似乎可以解决问题。那么,我们要进行骨节流动计算呢?我们再在骨骼上提供流动方法,然后同样的遍历骨节,调用每个的流动方法。我们要是加入统计骨节个数功能呢?我们要是加入其他的需要遍历骨骼的方法呢?这样做的缺点是什么?1、 相似的代码有多份2、 如果骨节的访问结构发生变化,后果会怎样?3、 有新功能需要遍历骨节链该怎么办?这样会迫使我们拷贝代码.解决办法,引入访问者模式:新增加接口如下:访问者 被访问者骨节访问者加入行为:访问者:(空,无方法,属性)被访问者:接受访问者骨节访问者:继承自访问者访问骨节完整的结构图:接口结构图骨骼 骨节蛇 图元头访问者 被访问者骨节访问者对象结构图骨骼骨节蛇图元头骨节头骨骼 蛇被访问者黄造军,,2003/8/25

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 游戏攻略

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报