网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 计算机范文 -> 免费手机吞吃蛇游戏的设计与开发(五)
计算机文章范文| ASP设计| Delphi| VB设计| JSP设计| ASP.NET| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机文档范文| 范文下载| 自动化范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

原创文档范文 → 计算机专业原创文档范文 软件技术专业原创文档范文  现成文档范文 → 计算机文档范文

免费手机吞吃蛇游戏的设计与开发(五)

本文ID:LW6233 ¥
SnakeScore:用来纪录分数的类。 SnakeLink:抽象了蛇身上的一段,保存了这段的坐标、方向和所有状态。 SnakeException:处理异常类。 图3:类对应图 4系统实现及核心代码 4.1系统实现 首先我将介绍下主要用到的七个类: 一条完整的贪吃蛇是由一段一段组成的。链表中保存的第一个元素是蛇的尾巴段,最..
 SnakeScore:用来纪录分数的类。
 SnakeLink:抽象了蛇身上的一段,保存了这段的坐标、方向和所有状态。
 SnakeException:处理异常类。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 图3:类对应图
4系统实现及核心代码
4.1系统实现
 首先我将介绍下主要用到的七个类:
 一条完整的贪吃蛇是由一段一段组成的。链表中保存的第一个元素是蛇的尾巴段,最后一个元素是蛇的头部段。当蛇运动的时候,它头部段增加一节而尾段减少一节。如果它吃到了食物,尾部段就不减少一节。也就是说,蛇是从头部段开始长的。
  吞吃蛇是由一节一节组成的。因为它经常有一些节连成一条直线形成段,所以这是一种相对有效的方法来保存整个蛇。[X,Y]表示段头部的坐标,然后段的头部开始按照方向向后画若干节。(段的头尾和蛇的头尾不是一个概念)
 吞吃蛇将会在画面中移动寻找食物。如果它吃到食物它将会长一格。如果它碰到边界或者吃到自己将Game Over。
 下面介绍下Snake类中的几个方法:
 public void update(Graphics g)
 这个函数是更新贪吃蛇状态。每次更新都把头部增加一节,尾部减少一节。如果它吃到食物尾部段就不减少一节。看起来就像整只蛇长了一节。
 // 把吞吃蛇头部增加一格
 head = (SnakeLink)worm.lastElement();
 head.increaseLength();
 // 如果没有吃到食物则尾部减少一格
 if (!hasEaten) {
 SnakeLink tail;
 tail = (SnakeLink)worm.firstElement();
 int tailX = tail.getX();
 int tailY = tail.getY();
 // 如果尾部块长度为0就删除
 tail.decreaseLength();
 if (tail.getLength() == 0) {
 worm.removeElement(tail); }
 // 尾部减少一格
 g.setColor(SnakePit.ERASE_COLOUR);
 drawLink(g, tailX, tailY, tailX, tailY, 1);
 } else {
 // 如果吃到食物就不删除尾部
 hasEaten = false; }
 needUpdate = false;
 // 确认是否在边界中
 if (!SnakePit.isInBounds(head.getEndX(), head.getEndY())) {
 // 如果不在,就死了
 throw new SnakeException("over the edge"); }
 headX = (byte)head.getEndX();
 headY = (byte)head.getEndY();
 //贪吃蛇的头部增加一格
 g.setColor(SnakePit.DRAW_COLOUR);
 drawLink(g, headX, headY, headX, headY, 1);
 // 判断是否吃到自己
 for (int i = 0; i < worm.size()-1; i++) {
 sl = (SnakeLink)worm.elementAt(i);
 if (sl.contains(headX, headY)) {
 throw new SnakeException("you ate yourself"); } }
 void drawLink(Graphics g, int x1, int y1, int x2, int y2, int len)
 这个函数用来画蛇的一段,一只完整的蛇是一段一段组成的。
 // 把长度转换成像素长度
 len *= SnakePit.CELL_SIZE;
 // (x1 == x2)说明这一段是垂直的
 if (x1 == x2) {
 // 把x1转成像素长度
 x1 *= SnakePit.CELL_SIZE;
 // (y2 < y1)说明是向上运动
 if (y2 < y1) {
 // 就把头、尾左边交换并转成像素
 y1 = y2 * SnakePit.CELL_SIZE;
 } else {
 // 把y1转成像素
 y1 *= SnakePit.CELL_SIZE; }
 g.fillRect(x1, y1, SnakePit.CELL_SIZE, len);
 } else {
 // 这是水平的一段
 y1 *= SnakePit.CELL_SIZE;
 if (x2 < x1) {
 // 就把头、尾左边交换并转成像素
 x1 = x2 * SnakePit.CELL_SIZE;
 } else {
 x1 *= SnakePit.CELL_SIZE; }
 g.fillRect(x1, y1, len, SnakePit.CELL_SIZE); }
 public void paint(Graphics g)
 画出一只完整的吞吃蛇
 SnakeLink sl;
 int x1, x2, y1, y2;
 int len;
 for (int i = 0; i < worm.size(); i++) {
 // 取出每一段,然后画出这一段,连起来就是一只完整的蛇
 sl = (SnakeLink)worm.elementAt(i);
 x1 = sl.getX(); x2 = sl.getEndX();
 y1 = sl.getY(); y2 = sl.getEndY();
 len = sl.getLength();
 drawLink(g, x1, y1, x2, y2, len); }
4.2 核心代码
 SnakeMain是最主要的类,继承自MIDlet类并实现了CommandListener接口。
 protected void startApp()
 实现MIDlet父类的方法,当开始程序时首先执行这个函数
 

首页 上一页 2 3 4 5 6 7 下一页 尾页 5/7/7

免费手机吞吃蛇游戏的设计与开发(五)相关范文
上一篇:免费基于细胞自动机的生命活力模.. 下一篇:免费数据包截获技术的研究与实现
点击查看关于 手机 游戏 设计 开发 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有