基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx

上传人:b****2 文档编号:1367477 上传时间:2023-04-30 格式:DOCX 页数:36 大小:458.31KB
下载 相关 举报
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第1页
第1页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第2页
第2页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第3页
第3页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第4页
第4页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第5页
第5页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第6页
第6页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第7页
第7页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第8页
第8页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第9页
第9页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第10页
第10页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第11页
第11页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第12页
第12页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第13页
第13页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第14页
第14页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第15页
第15页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第16页
第16页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第17页
第17页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第18页
第18页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第19页
第19页 / 共36页
基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx

《基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx(36页珍藏版)》请在冰点文库上搜索。

基于j2me平台与eclipse开发环境的贪吃蛇小游戏大学生大学论文Word下载.docx

3.3.4游戏进度管理模块9

3.3.5游戏排行榜模块9

3.3.6游戏类模块10

第4章详细设计11

4.1程序设计思路11

4.2类模块具体设计11

4.2.1GameStart类11

4.2.2GameFrame类12

4.2.3GamePanel类12

4.2.4Snake类14

4.2.5Barrier类14

4.2.6Food类14

4.2.7GameRecords类14

4.2.8Record类14

4.2.9GameConstant类14

4.2.10ReadRecord类14

4.2.11WriteRecord类14

4.3关键功能具体实现15

4.3.1蛇、食物、石头的表示15

4.3.2蛇的移动方向表示15

4.3.3食物及障碍物的随机生成17

4.3.4如何判断蛇吃掉食物18

4.3.5如何实现键盘控制蛇运行方向18

4.3.6如何判断游戏结束19

4.3.7如何实现游戏进度的保存与加载20

4.3.8如何实现游戏得分排行榜21

第5章系统测试23

5.1游戏测试23

5.1.1进入游戏23

5.1.2运行游戏23

5.1.3加载保存游戏24

5.1.4游戏排行榜26

5.2游戏创新与不足27

5.2.1创新点27

5.2.2不足点27

参考文献28

致谢29

摘要

在当今社会,随着科技的发展,人们的生活节奏越来越快,工作生活压力也随之增大,此时一款可以随时随地娱乐的手机游戏就成了必需品。

因此,设计一个操作简单、娱乐性强、界面美观的小游戏,在繁忙的工作之余适当地玩玩这个游戏,不仅可以调节情绪,使人心情愉悦,更能健脑益智,为更好的投入学习工作做好准备。

现在设计的这一款贪吃蛇游戏,就是满足以上要求而开发出来的。

贪吃蛇是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。

本论文基于J2ME平台与Eclipse开发环境,采用Java语言,开发了一个贪吃蛇小游戏,整个游戏程序分为四个功能模块,十一个类模块,实现了游戏的开始、暂停、结束、得分、排行、保存加载进度等功能。

通过本次游戏的开发,可以达到学习Java技术和熟悉软件开发流程的目的。

关键词:

手机游戏;

J2ME;

Eclipse;

Java;

贪吃蛇

ABSTRACT

Intoday'

ssociety,withthedevelopmentofscienceandtechnology,therhythmofpeople'

slifebecomemoreandmorefastandtheworkingstressalsoincrease.Atthispointaentertainmentgameonmobilephoneswhichcanbeplayedanywherehasbecomenecessary.Therefore,wocandesignasmallgamewhichissimple,entertainingandhaveabeautifulinterface.Toplaythesmallgameinthebusyworklife,itnotonlycanadjustthemood,makepeoplefeelbetter,butalsocanexercisethebrainandmakeapreparationfortherestwordandstudy.

NowwedesigntheSnakegametomeettheaboverequirements.Snakegameisaclassicgameanditispopularforthesimpleoperationeandentertaining.ThisarticleisbasedonJ2MEplatformandtheEclipsedevelopmentenvironmenttodevelopaverygoodSnakegame.Thewholegameprogramisdividedintofourfunctionmodules,elevenclassmoduleandthefunctionofgamestart,pause,end,score,ranking,savingtheprogressorloadingtheprogressmustbeimplemented.Throughthisdevelopmentofthegame,wocanachievethepurposeoflearningJavatechnologyandbefamiliarwiththeprocessofsoftwaredevelopment.

Keywords:

cellphonegame;

J2ME;

Eclipse;

Java;

Snake

第1章绪论

本章先对系统的研究意义以及国内外研究现状进行了详细论述,然后介绍了系统的开发工具Eclipse,接着对开发平台J2ME作了简单说明,最后详细阐述了Java开发语言的语言特点。

1.1研究意义及研究现状

1.1.1研究意义

在我们的生活中有很多的游戏,但是游戏不同,给玩家带来的也会是不同的感觉和生活理念,游戏平台经过游戏机到电视游戏,然后从电脑游戏到手机游戏,中间经历了很多的技术更新和变革[1]。

随着新技术的发展和人们生活水平的提高,手机逐渐普及。

手机小巧便捷、易于携带,因此成为我们日常生活中必备的通讯工具,基于手机平台的游戏也就拥有了巨大的市场空间,而随着3G的应用与发展,手机游戏必然会迎来新的热潮。

现在全世界有超过数十亿部移动电话正在被使用,虽然这些手机只有一部分是支持Java游戏的手机,但是这个数目正在快速地提高并且在几年内Java手机将要成为行业标准,移动游戏的市场潜力比其它任何平台都要大。

在现代社会,人们的压力日益增大,需要劳逸结合才能获得更高的工作效率,工作之余的娱乐对每一个人来说都是必不可少的[2]。

贪吃蛇游戏是一款非常经典的手机游戏,它比较简单有趣,深受男女老少喜欢。

贪吃蛇的设计对每一个Java语言学习者都是一个很好的锻炼机会,本次设计不仅考查了我综合运用以前所学知识的能力,同时也锻炼了我的实际动手能力。

1.1.2研究现状

目前的手机游戏数量众多,但日本、韩国、欧美等地开发的游戏几乎占据了中国手机游戏80%的市场。

国内手机游戏开发商开发能力与国外开发商比较,力量相对薄弱,目前国内手机游戏仍以单机版游戏为主,网游版游戏产品所占比重较低[3]。

从整体行业来看,中国手机游戏行业正处于快速发展期,手机游戏市场未来前景巨大。

这些年由于Java技术的不断发展,Java程序的运行速度有了显著提升,而硬件技术的不断发展,使得Java处理比较复杂的3D图形成为可能[4]。

Java3D技术的出现,使Java语言可以充分的利用现有显卡强大的硬件加速能力,目前已经有很多基于Java的2D和3D游戏,其中不乏大型多人在线游戏。

Java游戏正焕发着越来越蓬勃的生命力,在整个游戏产业中所占的比例也越来越大。

1.2开发环境概述

1.2.1开发工具Eclipse

Eclipse是一个基于Java的可扩展开发平台,是最强大的、最易于使用的Java快速开发工具之一[5]。

Eclispse把Java编程语言的强大威力和图形用户界面化的快速开发环境的易用性有机地结合在一起,使创建应用程序、类和工程的过程变得简单,设计器与双向开发工具的使用使图形界面的设计变得非常容易。

1.2.2开发平台J2ME

随着无线应用技术和嵌入式系统越来越受到人们的欢迎,Sun公司为了迎合这一发展趋势推出了J2ME平台。

J2ME是于1999年在JavaOne大会上正式被提出来的,是Sun公司为小型电子产品的应用程序开发专门提供的Java版本。

从体系结构上来看,J2ME按层来组织开发平台,它主要由JVM层,Configuration层和Profile层三部分构成[6]。

J2ME的核心是配置层,其中定义了JVM,JVM的作用是与设备底层的操作系统沟通,Profile则提供访问设备以及图形界面的API,加上简表层共同构成了J2ME的运行环境。

1.2.3开发语言Java

Java是一种可以开发跨平台应用软件的面向对象语言,Java技术具有很好的通用性、高效性和安全性,广泛应用于个人电脑、游戏控制台、数据中心、互联网和移动电话[7]。

在全球移动互联网的产业大环境下,Java更是具备了显著的优势和广阔的前景。

Java语言具有如下特点:

(1)简单性。

Java是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务[8],开发者只需要知道一些基本概念就能够编写出一些应用程序。

(2)面向对象语言。

Java的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。

(3)健壮性。

Java致力于检查程序在编译时和运行时的错误,减少了内存出错的可能性[9],并且提供垃圾收集器自动回收不用的内存。

第2章系统分析

系统分析是软件生命周期中重要的一步,也是起决定性的一步。

通过它可以全面了解整个系统的功能和性能方面的要求,为软件设计打下坚实的基础。

系统分析工作主要包括需求分析与可行性分析。

2.1需求分析

需求分析的最基本任务是精准地回答“系统必须做什么”这个问题[10]。

为了能够开发出真正令用户满意的产品,开发者首先要知道用户的需求。

对软件需求的深层次理解是软件开发工作获得成功的前提条件,不论开发者把设计做得如何优秀,如果不能够真正满足用户的需求就只会令用户失望,给自己带来烦恼。

本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出、加速减速、统计分数、排行榜等功能,游戏总体分为游戏主界面、游戏控制、游戏进度管理和游戏排行榜四个模块。

其中游戏主界面模块主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮、加载保存进度按钮、打开游戏排行榜按钮等,游戏的主界面应该力求美观,爽心悦目。

游戏控制模块主要完成按键事件与逻辑事件的处理,这部分应该做到易懂、易操作而且准确率高,不易出错。

游戏进度管理模块主要实现当前游戏进度的保存与加载已保存的游戏进度,游戏排行榜模块主要实现玩家得分的排名。

综上所述,本系统需要满足以下几点要求:

(1)有良好的方块形状设计方法来绘制小蛇、食物与障碍物,小蛇由几个方块组成,食物与障碍物由一个方块组成。

(2)能够随机产生食物与障碍物。

(3)实现按钮、键盘事件与逻辑事件的响应。

(4)实现游戏过程中的暂停、继续以及贪吃蛇运行速度调整。

(5)实现得分功能,分数每增加50分在原有基础上随机产生一个障碍物。

(6)可以通过键盘方向键(上,下,左,右)来改变蛇的运动方向。

(7)实现游戏结束的判断:

蛇头触碰到蛇身或者蛇头触碰到障碍物。

(8)通过序列化和反序列化来完成游戏进度的保存和加载功能。

(9)能够实现玩家得分排行榜功能,排行榜上列出前十名玩家的信息。

2.2可行性分析

可行性分析的主要目的是在该项目投资决策前,对项目有关工程技术、经济、社会等方面的情况进行调查、研究、分析[11],对各种可能的技术方案进行比较论证。

可行性分析是考察所开发软件的可能性和可行性,进而确定项目投资建设是否可行的科学分析方法。

2.2.1社会可行性分析

游戏开发至今已经有三十多年,随着硬件的水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是,游戏这个名称一直存在于每个人的日常生活中,游戏对于现代人的成长历程,绝对是一个不可或缺的重要角色,这些都为开发的这款贪吃蛇游戏提供了必要条件。

2.2.2技术可行性分析

(1)开发的软件可行性

本次设计我将运用java语言来完成。

Java语言是一种跨平台、适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可以在不同的软硬件平台上运行。

Eclipse开发工具是最强大的、最易于使用的Java快速开发工具之一[12]。

Eclipse把Java编程语言的威力和图形用户界面化的快速开发环境的易用性有机地结合在一起,它使图形界面的设计变得很容易,并能够提高以后的工程性能。

因此Java和Eclipse的结合,将使本次设计的技术可行性大大提高。

(2)开发的硬件可行性

电脑的发展速度一日千里,所以在硬件上应该没有问题,不过要注意的是硬件系统的稳定性问题,这个是非常关键的问题。

2.2.3经济可行性分析

Java平台的自由和开放性使得开发人员只需要很少的投资,游戏的易于维护性也使本游戏的开发投资大大减少[13]。

因此本系统的开发在经济上对开发者来说不存在太大的压力。

第3章总体设计

本系统开发过程中的总体设计,主要解决实现该游戏需求的程序模块设计问题,包括如何把该游戏划分成若干个模块、实现各个模块之间的接口、模块之间相互传递信息以及模块结构的设计等。

3.1设计原则与实现目标

软件开发是一项系统工程,必须遵照共同的设计原则,以便保障系统的质量,尽可能高地加强系统的各种指标。

(1)实用性原则:

要尽最大可能满足实际工作的需求,要充分考虑各管理环节以及各业务层次处理数据的实用性,界面设计要力争做到美观大方,功能设计要尽可能做到简便实用。

(2)可扩展性原则:

为适应将来技术的发展,系统应具备很好的可维护性和可扩展性[14]。

软件设计应力争做到组织化、模块化,使应用系统尽可能灵活配置,能够适应不同的情况。

从总体上来看,本系统的设计主要为了实现以下目标:

(1)加深对面向对象编程思想的理解。

(2)掌握多线程技术的应用。

(3)熟悉JavaGUI图形界面开发工具的使用。

(4)了解Java流输入输出的应用。

3.2系统运行总体流程设计

根据游戏的需求分析,我们可以知道系统的总体运行过程。

首先,进入游戏界面,单击开始游戏,界面随机产生食物,蛇体开始运行,初始方向为右。

游戏运行过程中,可以通过键盘上的上下左右键控制蛇的运动方向,可以通过单击暂停按钮暂停游戏,再次单击开始按钮游戏重新开始。

可以通过保存游戏按钮将当前游戏的状态存入磁盘文件,再次单击载入游戏可以从刚才的地方重新游戏。

当蛇碰到障碍物或者自身时,本局游戏结束,会弹出对话框,要求输入玩家姓名,然后弹出对话框询问是否重新游戏,单击是,重新游戏,单击否,退出游戏,游戏的具体运行流程如图1所示。

图1系统运行流程图

3.3系统功能模块设计

3.3.1游戏总设计模块

本设计所开发的是基于Java的一个贪吃蛇游戏软件,根据游戏需求中游戏所要实现的功能,整个游戏分为游戏主界面、游戏控制、游戏进度管理、游戏排行榜四个模块,如图2所示。

图2游戏总设计模块图

3.3.2游戏主界面模块

游戏的主界面是进入游戏后,能够给玩家第一感觉的部分,因此,游戏的主界面应该力求美观,爽心悦目,如图3所示。

图3游戏主界面模块图

3.3.3游戏控制模块

这个模块是游戏的中心环节,主要实现监听游戏的按键事件与逻辑事件,为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作,如图4所示。

图4游戏控制模块图

3.3.4游戏进度管理模块

这个模块是为了实现游戏进度的保存和加载功能,如图5所示。

图5游戏进度管理模块图

3.3.5游戏排行榜模块

该模块主要是为了实现玩家得分的排行榜功能,主要有游戏得分写入和游戏排行榜两部分,如图6所示。

图6游戏排行榜模块图

3.3.6游戏类模块

系统主要有十一个类,如描述蛇、食物、障碍、游戏面板等不同对象的类,各个类的具体功能见表1。

表1游戏类模块表

序号

类名

主要功能

1

GameStart

该文件为程序入口,含有main方法

2

GameFrame

用来设计游戏的用户界面

3

GamePanel

游戏控制面板,作为整个程序的控制器

4

GameConstant

该文件为一个工具类,存放一些常量

5

Food

该文件实现食物类

6

Barrier

该文件实现障碍物类

7

该文件实现蛇类

8

GameRecords

该文件用于实现玩家的排行榜

9

Record

记录玩家信息的类

10

ReadRecord

读取玩家信息

11

WriteRecord

写入玩家信息

第4章详细设计

系统详细设计主要对贪吃蛇游戏各模块的功能、性能、输入输出、算法、接口、程序逻辑等给出详细的设计方案,为软件开发制定详细的计划,这是程序员进行开发及未来测试的最重要步骤。

4.1程序设计思路

系统的事件控制器也叫事件监听器,是整个系统的核心,主要负责对按键事件与逻辑事件的处理,事件监听器主要由ActionListener接口和KeyListener接口实现。

贪吃蛇通过键盘控制蛇的运动方向是由KeyListener来负责监听,游戏的其他按键事件如游戏开始、暂停、退出等以及各种逻辑事件如判断游戏是否结束是由ActionListener负责监听,事件监听机制如图7所示。

图7事件监听机制图

4.2类模块具体设计

4.2.1GameStart类

此类为程序的入口类,定义了GameFrame的对象frame,实现游戏的初始化。

4.2.2GameFrame类

(1)此类定义了用于实现游戏界面按钮功能的全部变量,如描述游戏开始菜单项、游戏结束菜单项、游戏加速菜单项等,详细内容见表2。

表2成员变量表

成员变量描述

变量类型

名称

选项菜单栏

JMenuBar

menuBar

游戏面板

privateGamePanel

panel

速度标签

privateint

speedFlag

设置菜单

privateJMenu

setMenu

帮助菜单

helpMenu

开始菜单项

privateJMenuItem

startGame

暂停菜单项

pauseGame

游戏加速项

privateJRadioButtonMenuItem

speedGame

打开进度项

loadGame

保存进度项

saveGame

排行榜项

recordGame

(2)以下为内部私有类,都继承于ActionListener接口,如描述开始游戏、暂停游戏、加载游戏等不同的按键事件,见表3。

表3内部私有类表

内部类描述

类型

监听游戏是否要开始

private

StartAction

监听游戏是否要暂停

PauseAction

监听是否要读取游戏

LoadAction

监听是否要保存游戏

SaveAction

监听是否要加速游戏

SpeedAction

监听是否要打开排行榜

RecordAction

4.2.3GamePanel类

该类为显示面板类,系统的最主要功能如监听机制都由该类来实现。

(1)此类定义描述各个不同游戏对象的变量,如蛇对象、障碍对象、食物对象等,主要成员变量见表4。

表4主要成员变量表

游戏界面对象

privateGameFrame

frame

蛇对象

privateSnake

snake

食物对象

privateGrid

food

石头对象

privateBarrier

barrier

计时器对象

privateTimer

timer

是否产生石头

boolean

needToGenerateBarrie

是否产生食物

needToGenerateFood

游戏网格对象

grid

监听游戏状态对象

privateTimerAction

timerAction

(2)GamePanel类里面共有两个内部私有类,分别为监听按键事件与监听逻辑事件的类,见表5。

表5内部私有类表

监听按键事件

KeyHandler

监听逻辑事件

TimerAction

(3)GamePanel类定义了实现系统功能的大部分方法,如游戏初始化、蛇吃掉食物、写入分数等方法,见表6。

表6主要方法表

方法名称

方法类型

功能描述

GamePanel()

public

构造方法

Init()

游戏初始化

judgeGameOver()

判定游戏是否结束

isFoodAvailable()

产生石头是否与食物冲突

isBarrierAvailable()

产生石头石头与墙体冲突

generateFoodByRandom()

随机产生食物

eatFood()

蛇吃掉食物

isSnakeHeadTouchBarrier()

蛇是否碰到石头

isSnakeHeadTouchBody()

蛇石头碰到自身

loadGameDataFromFile()

加载记录的逻辑

saveGameDataToFile()

保存记录的逻辑

writeScore()

写入分数

4.2.4Snake类

(1)成员变量有定义方向的变量direction与定义集合类privateList<

Grid>

的变量list。

(2)此类定义了蛇对象实现运动必须具备的几个方法,如自行移动、改变方向等,主要方法见表7

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2