24小时论文定制热线

热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
您当前的位置:论文定制 > 毕业设计论文 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

java游戏毕业设计范文--安卓小游戏小行星带的制作

添加时间:2020/05/13 来源:未知 作者:admin
最近几年以来, Android一直比较热门, 虽然并不是手机系统里最优秀的, 但却是大多数手机厂商都在用的, 尽管近几年小程序正在兴起, 但手机应用的开发仍有很强的活力。
以下为本篇论文正文:

  摘要:本文设计了一个简单的这种游戏, 采用的语言是JAVA, 在Android平台上运行, 使用Eclipse制作。

  关键词:JAVA; Android; Eclipse; 手机游戏; 线性布局;

  Abstract

  This paper designed a simple game of this kind, using the language is JAVA, running on the Android platform, using Eclipse production.

  Key words:JAVA; Android. The Eclipse; Mobile games; Linear layout;

java游戏开发

  目录
  1 背景┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅1
  2 游戏结构┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅┅2
  3 设计目标┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅3
  4 游戏的设计原理及实现┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ 4
  5 结语┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅5
  参考文献┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅┅6
  附录(略)┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅  ┅ ┅ ┅ ┅ 7

  1 背景

  最近几年以来, Android一直比较热门, 虽然并不是手机系统里最优秀的, 但却是大多数手机厂商都在用的, 尽管近几年小程序正在兴起, 但手机应用的开发仍有很强的活力。随着Android的不断更新, 其性能也在不断变好, 在这里做些游戏还是很有价值的。

  2 游戏结构

  (1) 要有进入游戏的界面, 可以选择各个模式。

  (2) 有专门的游戏界面, 可以控制左右。

  (3) 游戏结束后要能显示分数。

  3 设计目标

  (1) 在布局文件main.xml中做好主界面, 主界面提供冒险模式和时间模式两个模式的选择, 还有提供其他一些诸如音乐, 历史分数显示的功能。如图1所示。

  (2) 分别用两个布局文件gamew.xml和gamet.xml表示无尽模式和时间模式两个模式的游戏界面, 因为两个界面虽然相像但是计分方式不一样, 而用算法实现有些麻烦, 所以索性建立两个布局文件。

  (3) 设计计算游戏结束的算法, 在"飞行器"转到"小行星"后会提示游戏结束, 这时要根据情况弹出gameoverw.xml或gameovert.xml来显示本次得分和历史得分。

  (4) 所有布局中设计的按钮, 图片框等都要写好相应的程序让它能起到相应的功能, 例如点击"无尽模式"就能打开无尽模式的游戏界面。

  (5) 在所有布局界面中, 右上角都提供了音乐的开关, APP把当前音乐的状态 ("开启"还是"关闭") 写在SharedPreferences中, 当APP每次启动时会读取SharedPreferences中的数据, 初始化音乐按钮的状态。

  4 游戏的设计原理及实现

  游戏的界面主要通过布局文件来制作, 安卓开发中布局文件和程序代码同样重要, 合理运用布局文件可以省去很多代码, 布局文件存放在res/layout文件夹中。图片文件, 包括按钮图片, 资源图片, 还有声音, 都存放在res/drawable-hdpi文件夹中, 程序代码作为app的主要部分存放在src/com.example.AsteriodBelt文件夹中。

  按钮要具备跳转功能, 点击"无尽模式"或"时间模式"任意一个按钮都能跳转到相应的界面, 需要首先在布局文件中交代按钮的位置, 然后在程序代码中写跳转的代码, 这也是安卓应用的巧妙之处, 通过合理使用布局文件是APP能兼容很多信号的屏幕, 因为手机不像电脑, 手机屏幕尺寸很多, 而应用要是不能根据屏幕尺寸适当改变, 在手机上用起来就很不方便, 这与电脑不同, 电脑屏幕足够大。具体添加按钮和添加程序的方法则较简单, 这里简单交代一下:

  采用线性设计UI:线性布局是安卓开发中最常用的一种布局, 习惯安卓开发的人应该会很习惯使用, 但是初学时总是感觉没有绝对布局顺手, 但是线性布局的嵌套实际比绝对布局, 表格布局等都灵活的多。

  布局文件中的按钮添加方法:


  图1:主界面  

  按钮添加在线性布局LinearLayout中而不是直接写在布局文件中, 这也是安卓应用的一般作法, 安卓应用有线性布局, 绝对布局, 表格布局等很多布局, 但最常用的还是线性布局, 很多资料上也就给出了线性布局的用法, 因为这种布局有很大的灵活性, 可以根据需要在对应的位置添加合适的尺寸的控件, 在添加控件时布局则相当于容器, 这里不再赘述。

  程序代码中的对应部分:

  首先声明这个按钮, 声明的名称可以和布局里的名称不一样, 但是在findViewById括号里必须和布局中生命的名字一样, 当然这里我保持了前后的名称, 所有的名称都是wjms, 其他几个按钮也类似, 必须先声明才能使用, 在下面部分的代码注册一个内部监听器处理按钮按下的事件--即跳转到"Gamew"Activity中, 其它几个按钮也采用这种方式, 只是跳转的窗口不同这里不再赘述。

  在具体的游戏界面中, 首先要生成若干的小行星, 小行星的位置随机生成, 速度根据具体的小行星设置具体的速度, 使速度很大或很小的小行星都很少, 主要小行星的速度都在一个合理的区间里, 这样游戏才更有意义一点。

  思路如此, 因为要保证生成的小行星在屏幕内而不是屏幕外, 所以我考虑了一个比较完备的算法如上, 在生成小行星后通过一个循环控制小行星按一定速度下落, 其实下落速度根据不同的手机具体的数值也是不一样的, 我一开始做的时候把数字定的很死, 但是这就造成不同的同学在测试游戏的时候, 小行星下落速度不一样, 有的人很快, 有的人很慢, 因为不同的手机分辨率, 像素密度不同, 所以后来我都改成了在一定的时间里下落按比例计算的屏幕距离, 所以最后才定下了这个算法。

  最后得要有一个判断游戏是否结束的算法, 需要根据飞船和小行星的位置, 算一下他们是否相撞, 这个算法我从网上搜出来的, 因为自己想了不少时间也没想好:

  看起来有点长, 但是上面一大部分都只占一行, 在Eclipse中看起来还是很清楚的, 通过计算"飞船"和"小行星"四个角的相对位置, 判断有没有相撞。

  5 结语

  本文设计了一个简单的射击类游戏, 界面适应安卓手机的不同分辨率, 作为很多程序员写游戏时喜欢用的题材, 在手机上实现可以让人学到很多东西, 在手机上玩游戏会比电脑上方便很多, 更有潜力。

  参考文献
  [1] Jvaa语言程序设计 (第三版) [M].中国铁道出版社, 2013.
  [2]Android应用开发入门经典[M].人民邮电出版社, 2014.
  [3]Android移动开发教程 (项目式) [M].人民邮电出版社, 2013.

  附录

(如您需要查看本篇毕业设计全文,请您联系客服索取)

相关内容
相关标签:Java毕业设计
好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!