摘 要
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础
本项目主要针对JAVA刚学完想巩固练习,用的都是一些基础性的知识
运用到的知识点:
1.面向对象:封装继承多态
2.数组
3.常用类Math
4.swing组件:图形界面工具
5.鼠标监听
6.IO流
7.多线程
关键词 JAVA,eclipec,常用类Math
第一章 概述
1.2 系统目标
游戏加载完毕点击界面即可开始游戏。
鼠标点击控制小鸟飞行,或者通过键盘控制小鸟的前后上下也可以,不要撞到管道哦!
控制好小鸟越过障碍飞得更远,获得更高的积分。
第二章 飞翔的小鸟系统需求分析
需求分析是对即将开发的系统确定一个完整的,准确的要求。需求分析的结果是否完美解决了用户的问题,将直接影响到后面的进程,并影响到设计结果是否能让用户接受。软件需求分析对软件系统提出了清楚、准确、全面而具体的要求,是对软件使用者意图不断进行揭示与准确判断的过程,它并不考虑系统的具体实现,而是严密地、完整地描述了软件系统应该做些什么的一种过程。飞翔的小鸟主要需要特殊nPC,开始背景,结束背景。我方飞机可以随意移动,柱子无规律出现。游戏玩家通过鼠标移动控制小鸟移动。
2.1.1游戏状态控制功能:
游戏的状态控制包括运行、暂停、恢复及结束游戏,首先是游戏的开始页面,在游戏正在进行时,如果你有其他的事情又不想结束游戏你可以将鼠标移出游戏界面或者鼠标在游戏界面单击即可暂停游戏,当你的其他事情解决后你还可以选择恢复游戏,继续玩下去,当游戏结束时会显示游戏结束界面。
2.1.2游戏难度的调整:
玩家随着玩游戏的时间的增加,柱子的数量会增加,出现的频率会有所提高,移动速度也会提高。
2.1.3游戏界面绘画功能:
在右上角显示游戏时间(游戏难度于时间成正比,即游戏时间越长难度越高),玩家游戏得分,与小鸟,游戏主屏用来显示玩家对的出现及移动的显示。
2.1.4玩家游戏控制功能:
玩家可以通过控制移动鼠标来控制小鸟的移动。
服务器端:安装Java虚拟机,Eclipse
客户端: 安装Java虚拟机
开发环境:Eclipse
开发语言:Java
Web服务平台:resin-4.0.36
服务器端:Centos6.5,有网络接口卡(NIC),内存应在4GB以上,硬盘在160GB以上。
电脑配置:CPU: Core i5 2.30GHz 内存:DDR3 8GB 硬盘:500GB
操作系统:Microsoft Windows10专业版
客户端:Core i5以上配置的PC机,有网络接口卡(NIC),内存应在4GB以上,硬盘在500GB以上。
电脑配置:CPU: Core i5 2.30GHz 内存:DDR3 8GB 硬盘:500GB
操作系统:Microsoft Windows 7 专业版
网络:服务器和客户端应有网络连通。配置TCP/IP协议。
可行性研究顾名思义,研究其的可行性。可行性研究是项目开发之前的重要阶段。在软件开发实践中,软件开发人员或者用户对市场的了解不充分,对技术的掌握不好,对进行开发的各项风险评估不足等因素,有些问题不能再预期下得到解决,造成不可预估的损失,为了避免盲目的软件开发和不必要的损失,相关人员需要对开发特定软件项目的可行性进行研究,结合资金、时间和环境等各方面的制约条件,对该软件产品是否能够解决存在的问题,是否能够带来预期的效果和价值做出评估。
2.3.1技术可行性:
现在开发游戏的语言一般都是Java语言,为了保证开发出来的游戏可以在手机、Web浏览器、PC客户端等平台使用,所以就要求开发语言可以在多平台移植,而Java语言刚好符合这个特性。开发工具IntelliJ IDEA可以下载并且可以免费使用,Java的编译工具JDK也可以在Sun官网上直接下载安装,其过程十分简单
2.3.2经济可行性:
配置较低的电脑也能进行Java游戏的开发,一台电脑就行,开发成本低。由于Java具有跨平台以及一次编译,到处运行的特点,开发出来的游戏可以放到各大游戏平台上发售,玩家可以在电脑,浏览器,手机等各种平台运行。而且软件维护简单,实用性强,一次开发使用,即可长久使用,当软件满足不了用户需求时,只需对用户的需求进行添加即可。
2.3.3操作可行性:
本游戏操作简单,在电脑和浏览器上可以用鼠标键盘操作,在手机上可以用手触摸屏幕运行。
2.3.4用户使用可行性:
本软件操作简单,对用户的要求,不需要多强技术能力。
2.3.5法律可行性:
信息产业部已将游戏通用引擎研究及示范产品纳入国家“863计划”,这是中国首次将游戏技术纳入国家科技计划当中。
综上所述,此系统开发目标已明确,在技术和经济方面都是都可行。所依此系统的开发是完全可行的。
第三章 飞翔的小鸟游戏总体设计
1.先实现窗口的制作,并且将背景图放入窗口面板
2.设计地面类,实现游戏背景地面移动
3.设计柱子类,实现游戏背景柱子移动
4.设计小鸟类,在类中添加小鸟相关方法
初始化小鸟相关参数, 判断小鸟是否碰撞柱子与地面
5.把小鸟放在面板中
6.鼠标监听控制小鸟飞行的轨迹
7.添加计分和游戏结束游戏开始的画面
代码分类:
由上述的分析,我们可以大致分析计划创建4个类
1.小鸟类:设置小鸟参数,添加小鸟判断方法
2.柱子类:设置柱子参数,添加柱子移动方法
3.地面类:设置地面参数,添加地面移动方法
4.测试类:添加开始结束、鼠标监听等方法
package FlyBirdGame;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
class Bird {
//图片
BufferedImage image;
//位置
int x,y;
//宽,高
int width,height;
//大小
int size;
//重力加速度
double g;
//位移的间隔时间
double t;
//最初上抛速度
double v0;
//当前上抛速度
double speed;
//经过时间t后的位移
double s;
//小鸟的倾角
double alpha;
//一组图片,记录小鸟的动画帧
BufferedImage[] images;
//动画帧数组的下标
int index;
//初始化小鸟
public Bird() throws Exception{
//初始化基本参数
image = ImageIO.read(new File("0.png"));
width = image.getWidth();
height = image.getHeight();
x=132;
y=280;
size =40;
//初始化位移参数
g=4;
v0=20;
t=0.25;
speed = v0;
s = 0;
alpha = 0;
//初始化动画帧参数
images = new BufferedImage[8];
for(int i = 0;i<8;i++){
images[i] = ImageIO.read(new File(i+".png"));
}
index = 0;
}
//飞行动作(变化一帧)
public void fly(){
index++;
image = images[(index/12)%8];
}
//移动一步
public void step(){
double v0 =speed;
//计算上抛运动位移
s=v0*t + g*t*t/2;
//计算小鸟的坐标位置
y=y-(int)s;
//计算下次移动速度
double v = v0 -g*t;
speed = v;
//计算倾角
alpha = Math.atan(s/8);
}
//向上飞翔
public void flappy(){
//重叠速度
speed =v0;
}
//检查小鸟是否碰撞到地面
public boolean hit(Ground ground ){
boolean hit = y+size/2 > ground.y;
if(hit){
y = ground.y - size/2;
alpha = -3.14159265358979323 / 2;
}
return hit;
}
//检查小鸟是否碰到柱子
public boolean hit(Column column){
//先检测是否在柱子范围内
if(x>column.x - column.width /2 - size /2
&& x //检查是否在柱子的缝隙种 if(y>column.y - column.gap/2 + size /2 && y return false; } return true; } return false; } } 第四章 详细设计 封装Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础 本项目主要针对JAVA刚学完想巩固练习,用的都是一些基础性的知识 (1) 程序流程图 程序源码https://download.csdn.net/download/m0_54570435/87719869 4.1 开发工具的选用及其介绍
4.1.1
可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是:代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
封装:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
4.2 详细模块设计