项目贪吃蛇游戏设计工作任务五场地(Floor)类设计工作.ppt

项目贪吃蛇游戏设计工作任务五场地(Floor)类设计工作.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目贪吃蛇游戏设计工作任务五场地(Floor)类设计工作

项目:贪吃蛇游戏设计 工作任务五:场地(Floor)类设计 工作任务六:公共(PubClass)类设计 工作任务七:自定义速度(Speed)类设计 任务五:Floor类 一、场地(Floor)类分析 为游戏的主场地,豆要在此范围内出现,蛇要在此范围内运行; 场地的左上角确定场地的显示位置,长宽确定场地的大小; 在游戏过程中,要首先初始化场地类,然后显示场地,当豆被吃掉后,要随机产生一个新豆并显示,还要不断检查蛇是否吃了豆,是否碰撞到了场地的壁或蛇自身。 1)字段 private static int dangwei=5; public static int deifen; private int chang=60*dangwei; private int kuan=30*dangwei; private Point dian; private Snake s; private Bean bean1; 2)属性: public Snake S 3)构造函数 public Floor(Point p) 4)方法: public void Display(Graphics g) public void CheckBean(Graphics g) public void CheckSnake() private Bean getRandomBean() public void displaybean(Graphics g) Private void ReSet(Graphics g) 二、场地(floor)类实现 1.属性 设置蛇对象的属性为只读属性 public Snake S { get{return s;} } 2.构造函数 public Floor(Point p) ⑴功能:初始化场地的左上角位置dian、豆对象bean1和蛇对象s。 ⑵设计思路及方法:根据传递来参数p设置场地外框左上角位置;用p和10实例化蛇s(设置蛇的长度由10个块组成);用空构造函数实例化豆对象并设置由p设置豆的位置属性值。 3.方法 1)显示场地(Display)方法 ⑴功能:依次显示场地内的所有对象,场地边框、豆和蛇;还要检查蛇是否吃了豆。 ⑵设计思路: 画一个长能放下80个豆、宽能放下50个豆的红色矩形作为场地; 依次用各自的显示方法显示蛇和豆,并检测当前豆是否被蛇吃掉。 2)检查蛇是否吃了豆(CheckBean)方法 ⑴功能: 检测豆是否被蛇吃掉,如果被蛇吃掉,得分增加10分,显示新豆,使蛇增长一块,否则不作任何处理,直接返回。 ⑵设计思路: 判断豆的位置是否与蛇头的位置相同用Point结构的Equals方法: bean1.Origin.Equals(s.getHeadPoint) 其中bean1是当前豆对象,s是蛇对象 得分增加10分 3)显示豆(displaybean)方法 ⑴功能:当豆被蛇吃掉后,消除被吃豆,随机生成一个新豆并显示它。 ⑵设计思路: 调用它们各自的方法UnDisplay()、randombean()和Display()完成它们的功能。 4)产生随机豆(randombean)方法 ⑴功能:生成一个在场地范围内任意位置的豆。 ⑵设计思路: 由随机数对象产生两个随机数,根据这两个整数建立一个Point变量,把它赋给豆对象的位置Origin属性,最后返回此豆。 产生随机数 C#中产生随机数的方法分两步: ①? 创建伪随机数对象,并实例化它。 Random random=new Random(); ② 产生整数随机数的方法Next() 格式:int Next(int maxnum) 功能:产生一个不大于maxnum的非负整数。 5)检查蛇是否撞墙和撞到它自身(CheckSnake)方法 ⑴功能:判断蛇是否撞墙和撞到它自身,如果蛇碰撞到场地的壁或碰撞到它自身,返回true,否则返回false。 ⑵设计思路和步骤: 要判断蛇头是否撞到场地的墙壁,蛇头的位置由头块的左上角位置决定,当蛇向左、向上运行,头块碰到墙壁时位置与墙的位置重合,当蛇向右、向下运行,头块碰到墙壁时,头块的位置x、y坐标减5,所以判断条件如下: dot.X s.getHeadPoint.X s.getHeadPoint.X (dot.X + length)-5) (dot.Y s.getHeadPoint.Y s.getHeadPoint.Y (dot.Y + width)-5) 判断蛇是否碰到它自身,直接调用判断蛇碰撞到自身属性: !s.getHitSelf。 6)重新开始(ReSet)方法 ⑴功能:消除现在的蛇,在起始位置重新显示蛇。 ⑵设计思路和步骤 调用蛇的消除方法UnDisplay()和重新设置方法ReSet()。 工

文档评论(0)

book1986 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档