贪吃蛇游戏开发的设计.doc

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

广州商学院 课 程 论 文 题目:贪吃蛇游戏开发设计 课 程 名 称 面对对象程序设计 考 查 学 期 2016/2017学年 第 1学期 姓 名 陈思明 李权康 学 号 201506110047 201506110044 专 业 计算机科学与技术 指 导 教 师 包汉宗 摘要: 近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。? ????“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,四个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。? 关键词:, 一 、 可行性分析 1.1经济可行性 游戏开发至今已经有30多年,在这个短暂的时期里,随着硬件的水平的提高。游戏开发新技术层出不穷,经典游戏比比皆是,游戏这个名称一直存在于每个人的日常生活中。因此,游戏对于现代人的成长历程,绝对是一个不可或缺的重要角色.而从技术方面来看,现在的java技术也融入了手机中。这些都为开发的这款贪吃蛇游戏提供了条件。 1.2技术可行性 本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。? ????由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。 二、 需求分析 2.1游戏的介绍 游戏的名称叫“贪吃蛇”,节:一条蛇可以看成有许多正方形的“小格子”拼凑成,我把它称作节。节是蛇身上最小的单位。? ?段:当许多节连成一条直线,我称它为段。贪吃蛇只有一段,如果它拐弯就变成两段。? ?链表:用来保存每一段的状态,链表的元素单位是段。且链表的最后一个元素表示蛇的头部段。? ?坐标系:MIDP中的坐标以左上角那点为(0,0),向右则x递增,向下则y递增。?操作系统:Microsoft Windows 程序语言:Java 2 开 发 包:Java(TM) 2 Standard Edition (5.0) ? ? ? ?Sun Micro. J2ME ? Wireless Tool Kit 2.2 IDE: ? ?Eclipse 3.2游戏主界面的开发 屏幕的背景用白色,由于屏幕高比宽长,所以取以宽为边长的矩形区域作为游戏区域,下面的部分作为分数、信息区域。 图一(游戏的主界面) 3.3 绘制蛇身 public void repaint(){ Graphics g = canvas.getGraphics(); // 背景 g.setColor(Color.black); g.fillRect(0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT); // 蛇 g.setColor(Color.PINK); LinkedList<Node> snakeNode = snake.nodeArray; Iterator<Node> it = snakeNode.iterator(); while (it.hasNext()) { Node n = (Node) it.next(); drawNode(g, n); } // 食物 g.setColor(Color.RED); Node n = snake.food; drawNode(g, n); updateScore(); } // 绘画某一结点(蛇身或食物) private void drawNode(Graphics g, Node n) { g.fillRect(n.x * nodeWidth, n.y *

文档评论(0)

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

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

认证主体李**

1亿VIP精品文档

相关文档

相关课程推荐