JME贪吃蛇 课程设计_第1页
JME贪吃蛇 课程设计_第2页
JME贪吃蛇 课程设计_第3页
JME贪吃蛇 课程设计_第4页
JME贪吃蛇 课程设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、枣 庄 学 院信息科学与工程学院课程设计任务书 题目: J2ME贪吃蛇游戏 学 生1: 学 生2 学 生3 专 业: 计算机科学与技术 课 程: Java ME 程序设计 指导教师 职称: 讲 师 完成时间: 2013年 5 月-2013 年 6月枣庄学院信息科学与工程学院制课程设计任务书及成绩评定课程设计的任务和具体要求任务:开发贪吃蛇游戏具体要求:1xxx为组长,其他人为组员,组内成员分工明确、团结协作、相互配合,共同完成课程设计;2能实现贪吃蛇游戏的基本功能; 3. 界面美观,功能齐全;4课程设计要思想清晰、明确,排版整齐,严格按照模板要求进行组织撰写课程设计。5课程设计报告要求不少于2

2、000字;指导教师签字: 日期: 指导教师评语成绩: 指导教师签字: 日期: 课程设计所需软件、硬件等操作系统:Microsoft Windows XP硬件:CPU IntelCOREi3    2G内存   320G硬盘软件:Windows 7 Eclipse程序语言:Java 课程设计进度计划起至日期工作内容备注2013.5.3-2013.5.202013.5.21-2013.6.102013.6.1游戏的策划游戏的全面设计 游戏的测试参考文献、资料索引序号文献、资料名称编著者出版单位1Bruce Eckel.

3、侯捷译.Java编程思想机械工业出版社出版社. 2005年3月第1版. 2王森著.Java手机/PDA程序设计入门电子工业出版社.2005年2月第3版.3陈立伟 张克非 黎秀红著.精通JAVA手机游戏与应用程序设计中国青年出版社.2005年5月.4(美)威尔顿,麦可匹克. JavaScript入门经典(第3版). 施宏斌译. 北京:清华大学出版社,2009 目 录1概述11.1开发背景11.2开发目的11.3开发平台与技术概述1 J2ME简介11.3.2 WTK、ECLIPSE的介绍22研究内容33游戏总体设计43.1贪吃蛇游戏的规则简介43.2贪吃蛇游戏操作流程44游戏详细设计64.1绘制画

4、布64.2蛇吃食物的设计74.3蛇碰壁和碰到自身的处理85总结12 1概述1.1开发背景 近年来科学技术的迅猛发展,计算机技术已近慢慢的向微型化、便携化等方向发展。如今,人们对于嵌入式的研究的深入,诞生了各种基于多功能操作系统的手机,使得这些手机上可以安装各种各样的软件,实现功能和性能上的扩展和提高。目前大部分手机分为智能手机(SmartPhone)和非智能手机。随着移动通信技术的发展和无线数据业务的进步以及人们对移动传播方式的日趋依赖,无线终端在人们日常生活中的使用也逐渐得到普及,手机已被赋予了除通话以外的其他许多功能。研究发现,在700 名受访对象中,60的人会在家中玩手机游戏,而且其中

5、60每天不止玩一次,每天的时间在 15 到 20 分钟。而诺基亚做的一项研究发现,玩家玩手机游戏的时间平均为 28 分钟。种种调查数据可以证明全世界手机游戏市场的繁荣,如今没有人会怀疑手机游戏的美好未来,全新的手机游戏领域已逐渐聚焦了众多软件开发商的目光。手机游戏的市场空间进一步增大。在日本以及韩国,手机游戏已经贡献了大笔收;美国以及欧洲市场同样很乐观;而在南美洲以及其他国家和地区,市场规模也在不断扩大。1.2开发目的以J2ME为开发平台,利用Java提供的强大工具,不但可以在手机上实现静态HTML技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种手机游戏。本文在介绍J

6、2ME及其体系结构的基础上,以贪吃蛇游戏为实例,描述了借助J2ME的MIDlet类库开发手机游戏的全过程。1.3开发平台与技术概述1.3.1J2ME简介现在JAVA-JAVA2 Platform大致可分为J2SE、J2EE、J2ME三类。J2SE为JAVA-JAVA2 Platform 的标准版,通常在PC上使用的JAVA。J2EE是在J2SE的API上,扩展了给企业使用EJB与Servlet等主要使用在服务器上的功能。而J2ME则是面向家电和通信工具等微小设备。J2ME的目标是微小设备,这类设备有许多种类,在这些设备的J2ME当中,定义了CDC(Connected Device Config

7、uration),CLDC(Connected Limited Device Configuration)这两个Configuration。CDC是以能用在个人网关、下一代移动电话、PDA(个人数字助理)、家电设备、POS终端、车辆导航系统等上运行为前提设计出来的。CLDC,是以能使用在移动电话、PDA(个人数字助理)、家电设备、POS终端等上面为前提设计出来的。1.3.2 WTK、ECLIPSE的介绍(1)WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。使用其中的工具可以开发与 Java

8、 Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的j2me 应用程序。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。到本文写作时为止可以获取有四个版本,分别是1.0.4, 2.0, 2.1和2.2。每个版本都包括英语,日语,简体中文,繁体中文4个语种包。WTK是Sun提供的一个开发工具包。目前各大手机厂商往往把WTK经过自身的简化与改装,推出适合自身产品,如SonyEricsson,Nokia Developers suit等,都属于此种类型;而通过JBuilder, Eclipse等IDE,J2ME开发包

9、工具可以被绑定在这些集成开发环境中,进一步提高开发效率。(2)Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、C

10、DT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。2研究内容 本课题研究的是基于J2ME的手机贪吃蛇游戏,利用EclipseIDE工具和Sun Java ME SDK 3.0,JAVA语法和J2ME系统的API来实现。主要研究的对象是: 1.面向对象的编程技巧;2.J2ME的低级、高级界面的开发; 3.J2ME内专门游戏开发包Game包的使用; 4.多线程技术的应用。3游戏总体设计3.1贪吃蛇游戏的规则简介 在贪吃蛇游戏中,玩家操作

11、由小方块连接而成的蛇,去吃随机散落在画面内的小方块,每吃一块就增加一小方块长度,要是撞自己的尾,就属于失败,如无失败则直到通关为止。在屏幕范围内,玩家通过操作方向键来控制蛇的运动方向。3.2贪吃蛇游戏操作流程用户在启动MIDlet后,即进入游戏主画面,就可以开始玩游戏。游戏初始界面如图3-1初始界面所示。 图3-1初始界面4游戏详细设计4.1绘制画布MIDP的游戏设计,本质上就是用一个线程或者定时器产生重绘事件,用线程和用户输入改变游戏状态。这个游戏也不例外,启动MIDlet后,就立即生成一个重绘线程,该线程每隔50ms绘制一次屏幕。游戏画布是一个CommandListener,可以接受用户键

12、盘命令,控制蛇的左移,右移,下移,上移。其代码如下:protected void paint(Graphics g) /屏幕擦除g.setColor(0); g.fillRect(0,0,SCREEN_W,SCREEN_H); /绘制贪吃蛇 for(int i=0; i<snakeNum; i+) drawSnake(g,snakei*3+0,snakei*3+1,snakei*3+2); /绘制食物 drawSnake(g,foodX,foodY,foodC);/ 绘制贪吃蛇和食物private void drawSnake(Graphics g,int x,int y,int col

13、or) g.setColor(0xffffff); g.fillRect(x,y,SNAKE_W,SNAKE_H); g.setColor(color); g.fillRect(x+1,y+1,SNAKE_W-1,SNAKE_H-1); /事件处理 public void keyPressed(int keyCode) int action = this.getGameAction(keyCode); /改变方向 switch(action) case UP: if(direction != DIR_DOWN) direction = DIR_UP; break; case DOWN: if(

14、direction != DIR_UP) direction = DIR_DOWN; break; case LEFT: if(direction != DIR_RIGHT) direction = DIR_LEFT; break; case RIGHT: if(direction != DIR_LEFT) direction = DIR_RIGHT; break; case FIRE: /暂停和继续 isShow = !isShow; break;4.2蛇吃食物的设计贪吃蛇最初由1个小正方形组成,小正方形是蛇的身体和游戏容器的组成部分。食物也由一块小正方形组成,并且随机散落在游戏框图的区域内

15、,待玩家操作游戏完成一个任务后面,再出现下个食物,小蛇每吃一个食物就增加一个长度。实现代码如下:/判断下一步是否有食物,如果有则吞食,并随机再在屏幕内,蛇身外生成新的食物 if(newX = foodX && newY = foodY) snakeNum+; for(int i=snakeNum - 1; i > 0; i-) snakei*3+0 = snake(i-1)*3+0; snakei*3+1 = snake(i-1)*3+1; snakei*3+2 = snake(i-1)*3+2; snake0*3+0 = foodX; snake0*3+1 = food

16、Y; snake0*3+2 = foodC; /食物被吃掉后需要生成新的食物 makeFood(); /生成新的食物 private void makeFood() /食物坐标 foodX = Math.abs(random.nextInt() % (SCREEN_W - SNAKE_W + 1) / SNAKE_W * SNAKE_W; foodY = Math.abs(random.nextInt() % (SCREEN_H - SNAKE_H + 1) / SNAKE_H * SNAKE_H; /食物颜色 foodC = COLORMath.abs(random.nextInt()%CO

17、LOR.length); 4.3蛇碰壁和碰到自身的处理 (1)在贪吃蛇碰到四壁时,它应该从对应的另一壁出现,如图4-3 贪吃蛇碰壁所示。图4-3 贪吃蛇碰壁(2)贪吃蛇碰到自身,该游戏即结束,如图4-4 游戏结束所示 图4-4 游戏结束实现游戏结束的代码如下:if(isGameOver() isShow = false; isExit = true; return; private boolean isGameOver()/碰到自身 for(int i = 4;i < snakeNum;i+) if(snake0*3+0 = snakei*3+0 && snake0*3+1 = snakei*3+1) return true; return false; 5总结通过本次J2ME手机游戏设计,让我更深刻的了解程序设计的基本思想,巩固了J2ME程序设计的基本知识。本次课程设计所开发的手机游戏,实现了手机游戏的一些基本和必需的功能。但游戏功能还存在着很多不足,首先,对游戏的动画设计不够熟悉,技巧性不强,界面的设置也不够美观。这些对于玩家来说是非常重要,将直接决定本游戏的生存能力。其次,有些功能不能实现。如游戏的界面设置,游戏动画的设置,游戏的保存和游戏纪录的保存,游戏的开始和暂停等功能这次游戏的功能没能做到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论