- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目:贪吃蛇游戏设计工作任务三:块类(Block)设计工作任务四:蛇类(Snake)设计 工作任务三:Block类 块(Block)类分析 在贪吃蛇游戏中,块用来构成蛇,在蛇出现时,要把构成蛇的块一个个输出(显示),在蛇消失时,要把块消除掉,显示和消除哪一个块都要由位置决定,并且由于蛇是由多个块构成的,为了区分,每个块要有一个序号。 块(Block)类 1)字段: private int number; private Point origin; 2)属性: public int Number public Point Origin 3)方法: public void Display(Graphics g) public void UnDisplay(Graphics g) 块(Block)类实现 1)字段和属性 字段origin和属性Origin的类别是Point结构; 字段number和属性Number都是整型数据。 2)方法 ⑴Display方法 ①功能:在显示器上画一个空心正方形(代表一个块) ②设计思路:直接在场地(窗体)上画一5*5的空心正方形。 ⑵UnDisplay方法 功能:把显示在显示器上的块(空心正方形)给消除掉。 实现:在原位置重新画块(空心正方形)。与上面不同的是,用背景颜色重新画,消除了原来的块。 Pen类 定义用于绘制直线和曲线的笔对象。 构造函数之一为:public Pen(Color); 其中Color是颜色,指定创建是什么颜色的笔。 如:Pen redPen=new Pen(Color.Red); 工作任务四:Snake类 蛇(Snake)类分析 蛇由多个块组成,所以要包含一个整型数据,保存蛇头的编号即蛇的长度; 要有一个Point对象,保存蛇头的位置; 要有一个ArrayList对象,用于存放组成蛇的所有块; 蛇在场地运动,要用一个整型数据标识它的运动方向; 蛇要在场地中不断移动,如果蛇吃了豆,它自身要增长一块; 蛇的运行过程,就是蛇的不断显示过程; 在蛇消失时,要把块消除掉; 蛇运行过程中要不断地改变方向; 如果蛇头碰到了它自身,蛇就要死亡即程序结束。 工作任务四:Snake类 蛇类要包含下列成员: 1)字段: ArrayList blockList ; private int headNumber; private Point headPoint; private int score; private int direction = 1;//默认是向右 工作任务四:Snake类 2)属性 public int Score public int HeadNumber public Point getHeadPoint public bool getHitSelf public int Direction 3)构造函数 public Snake() public Snake(Point vertex, int count)//建立开始的蛇 工作任务四:Snake类 4)方法: Display(Graphics g) UnDisplay(Graphics g) TurnDirection(int pDirection) Growth() Reset(Point vertex, int count) 工作任务四:Snake类 蛇(Snake)类实现 ⒈构造函数 public Snake(Point vertex, int count) 1)功能 根据游戏开始时蛇运动的默认方向和给定的参数,确定组成蛇的各块的位置,然后把各块添加到blockList中去;并初始化蛇的长度(蛇头的序数)字段headNumber 和蛇头位置字段headPoint 工作任务四:Snake类 2)设计思路 首先创建一个ArrayList对象blockList,并实例化为count个元素,然后根据游戏开始时蛇运动的默认方向和给定场地位置参数vertex,确定蛇的开始位置,最后通过一个转count圈的循环,依次找到组成蛇的各块,把它们存入blockList数组中,其他字段赋值即可。 创建ArrayList对象并实例化: blockList=new ArrayLis(count); 开始蛇的第一块位置: Point p = new Point(vertex.X + 25, vertex.Y + 25); 工作任务四:Snake类 创建块并给属性赋值如下: Block bb=new Block(); bb.Origin=p; bb.Number=i+1;//从蛇尾开始序号 把块添加到blockList中: blockList.Add(bb); 工作任务四:Snake类 2.属性
您可能关注的文档
最近下载
- 供方评价表(物流服务).docx VIP
- 给排水国标图集-02S404:防水套管.pdf VIP
- Unit3ComparisonandContrast市公开课一等奖省赛课微课金奖PPT课件.pptx
- 60kW-258kWh磷酸铁锂储能系统项目方案书.pdf
- 数量指标 质量指标 时效指标 成本指标.xls VIP
- 2024年联通新融合发展技能竞赛(业务管理及稽核赛道)试题库(含答案).docx
- 江苏开放大学维修电工第3次形考作业答案.pdf
- 2023冠状动脉造影日间手术专家共识(完整版).pdf
- DB51/T 2919-2022FDIS古树名木养护和抢救复壮及管理技术规程.pdf
- BS EN 16314-2013 国外国际规范.pdf
文档评论(0)