一、需求分析:

反应速度的快慢、注意力的集中成度都是一个人综合素质的一部分。

而这些都是可能通过后天的训练得到加强的,于是有一款能训练人思维、反应速度的小游戏便十分必要了。

游戏需要包括界面、背景、障碍物、游戏提示、及用户可以操控的飞机等。

二、概要设计:

[img]http://dl.iteye.com/upload/attachment/333949/d0cccbbf-3b71-3468-9caa-4752f16c51e1.bmp[/img]

各个功能通过各自的类来完成。

三、详细设计:

1、游戏中用户形状为三角形,并可根据左右移动的情况改变形状,同时,在用户与障碍物碰撞之后,会产生毁灭效果,程序的可视化效果突出。

2、游戏的背景采用全黑,同时使用多个线程模拟出的灰色不同速率向下移动象素点构造出一种动态的太空效果。

3、游戏对于用户与障碍物的判断采用了点是否在多边形内的面积判断算法。

4、对于游戏的障碍物,采用了图片的方式进行绘制。

5、程序提供了多个可扩展的函数、变量等,方便游戏的升级。

四、程序结构

1、程序结构说明:

本程序采用模块化设计方法,各个功能的实现都有具体的方法,在主函数调用相应的方法即可实现程序的要求。程序的整体性很强。

2、重要数据说明:

本程序中定义long类型的时间变量,用来获取系统时间。

3、函数清单:

/*

* 显示界面并添加对应器件的方法

*/

public void showUI()

/*

* 显示开始的方法

*/

public void showStart()

/*

* 定义一个显示背景的方法

*/

public void showBackground()

/*

* 定义一个显示子弹的方法

*/

public void showBullets()

User类中:

/*

* 定义一个死亡后的效果显示方法

*/

public void deadshow()

//写run方法

public void run()

BackgroundNode类中:

//写run方法

public void run()

BulletThread类中:

//写run方法

public void run()

ShowTime类中:

ShowTime类中:

//写run方法

public void run()

五、调试分析:

1、程序截图:

[img]http://dl.iteye.com/upload/attachment/333951/0670efc3-0740-3250-a5d7-20828d5447d8.bmp[/img]

开始界面。

[img]http://dl.iteye.com/upload/attachment/333953/1ef6001e-e070-385d-b680-32abd5cf2b6b.bmp[/img]

游戏界面

[img]http://dl.iteye.com/upload/attachment/333955/fc75a9c2-8a59-3bc6-9af1-29566380fae5.bmp[/img]

死亡界面1

[img]http://dl.iteye.com/upload/attachment/333958/4ca86a5b-d457-3c9a-a6a3-9a7d152df070.bmp[/img]

死亡界面2

2、程序调试

在调试中发现程序在键盘同时按下两个键的情况下不会产生相应的效果。对KEYACTIONLISTENER中相应的代码进行增添后得到结果。

六、总结:

1、程序设计难点:

本程序的难点在于判断碰撞算法的设计及在保证屏幕不闪下重绘方法的使用。

2、程序设计中的不足:

本程序在动态效果及界面设置等诸多方面还有很大不足,还需要进一步完善。

3、训练体会:

这次训练是我第一次使用到添加键盘方法。并通过自己的学习掌握了键盘方法的使用及多个键同时按下的使用方法;同时,程序还是大量运用到了Jframe里的相关操作,使我对于Jframe的运用更加熟悉,同时,对于其repaint方法的掌握也更加到位;再同时,我运用到了面积判断点是否包含在面内的算法,增加自己的知识面及将数学理论用于实际。

感悟:

1.

纸上得来终觉浅,绝知此事要躬行!

任何看起来很简单的事情,做起来未必简单!

2.

数学真的很重要!

3.

细心是一个程序员必备的素质!

4.

学会解决问题!

java一个球左右躲避障碍_java 飞机躲避小游戏分析及实现[源码][附图]相关推荐

  1. JS实现飞机大战小游戏 超详细 附源码和原图

    目录 效果展示 源码 HTML CSS JS 原图 效果展示 HTML+CSS+JS做打飞机小游戏 开始界面 选择你喜欢的飞机开始游戏 按下空格键 开始/暂停  有三种敌机 可以设置飞机生命值,生命值 ...

  2. 编程语言用 Java 开发一个打飞机小游戏(附完整源码)

    编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...

  3. 基于JAVA融呗智慧金融微资讯移动平台小程序端计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA融呗智慧金融微资讯移动平台小程序端计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA融呗智慧金融微资讯移动平台小程序端计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技 ...

  4. java整蛊小游戏源码_Java 开发打飞机小游戏(附完整源码)

    上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码 ...

  5. java飞机场模拟程序_java 飞机大战 小游戏源码

    [实例简介] 本项目是一个使用java做的一个飞机大战的小游戏,一个英雄机,初始有三次生命,当打中蜜蜂会有一次生命奖励,当打中敌机会有相应分数奖励,但如果被敌机打中会失去一次生命机会.如果生命都失去, ...

  6. Java 开发打飞机小游戏(附完整源码)

    上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码 ...

  7. java贪吃蛇游戏代码下载_java实现贪吃蛇游戏代码(附完整源码)

    免费资源网,https://freexyz.cn/ 先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing ...

  8. Java打飞机小游戏(附完整源码)

    写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码写的很 ...

  9. java贪吃蛇代码_java实现贪吃蛇游戏代码(附完整源码)

    先给大家分享源码,喜欢的朋友点此处下载. 游戏界面 GUI界面 java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing控件 创建一个新窗口 JFrame frame = ...

  10. java如何统计系统浏览人数_java网站如何统计访问量和在线人数实例源码

    java网站如何统计访问量和在线人数实例源码.简言之,如果不用第三方提供的接口 那最好的解决方案应该是当SESSION建立时sessionCreated(),在访问总数和当前在线人数上+1 当SESS ...

最新文章

  1. DKHadoop人力资源大数据解决方案架构
  2. onnx onnxruntime 预测
  3. 通用算法-sql相似度模糊匹配
  4. Redis 主从集群搭建及哨兵模式配置
  5. 大数据在医疗保健中的真正愿景
  6. springcloud(九):配置中心和消息总线(配置中心终结版)
  7. UDT中select异常
  8. 14-磁盘管理-df,du命令,磁盘分区
  9. asp.net后台正则表达式验证手机号码邮箱
  10. 解决java.lang.IllegalArgumentException: No converter found for return value of type
  11. Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结
  12. Echarts地图高亮循环数据展示
  13. 正确解决:关于Lattic Diamond软件注册不成功(license问题)
  14. office之自定义尾注样式:中括号的应用
  15. PTA 7-10 查询水果价格
  16. 木门锁孔合页综合加工机器
  17. 积分(Integral)
  18. SELECT FOR ALL ENTRIES IN 通过配置优化速度
  19. (六)python共享代码步骤
  20. Excel VBA:数据管理与维护

热门文章

  1. 劝说语合理使用计算机,用一句名言来劝说家长让孩子接触计算机
  2. 二维码签到,签退和登陆
  3. 行无疆靠谱讲述拼多多推广方法有哪些?
  4. 10:统计输入字符串中的单词个数及单词的平均长度
  5. JVM进阶(六):鲜为人知的二次标记
  6. (故事)大个儿熊的喷嚏
  7. 下载微信公众号中的视频的方法
  8. scratch拼图编程_使用模块化和项目拼图进行编程。 使用最新的抢先体验版的教程
  9. python 视图对象_Python之路【第二十八篇】:django视图层、模块层
  10. CSS3的癫疯展示——3D立方体动画(你要的全景视图来了)