Java小游戏-飞翔小鸟

摘 要

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.1 引言 

自1946年第一台计算机问世以来,计算机产业的飞速发展已达达超出人们对它的预料,在某些生产线上,甚至一秒钟就能生产出一台微型计算机,产量猛增,价格低廉,返就使得它的应用范围迅速扩展。如今,计算机已深入到人类社会的各个领域。各种应用程序不断地被开发应用,随之程序设计诧言也不断发展完善, Java 便是返程序诧言丐界里的一朵奇葩,如今甚为流行。不 C ++语言相比, Java 是一种完全面向对象的语言,它吸取了 C ++语言的语句结构,去掉了指针、多继承、运算符重载等返些降低安全性、低可靠性的语言元素,开实现了自能回收垃圾的功能,从而使得 Java 语言更具有可稠植性、安全性、不环境无关性等特点赢得了广大软件开发者的青睐。

作为信息管理不信息系统与业的学生, Java 是我们的与业课,我们更应该了解计算机,学好 Java语言

经过这段时间的专业学习,使我们系统化的掌握了专业基础知识,为了综合运用所学理论知识,培养自己的独立分析问题、解决问题的能力,让自己在实践中获得真知,我认真的进行并完成了此次设计任务,,此次课程设计课题为飞翔的小鸟小游戏,在指导老师的帮助下,我逐步完成。

通过对教材和有关参考资料的学习,是我掌握基木方法,解决了措施主要内容有哪些,此次毕业设计过程中,我按照毕业设计的各项要求,综合运用所学知识,独立的完成了资料的收集整理,,定额的应用,掌操此次毕业设计的完成锻炼了我的创新思维和动于能力,提高了我综合应用专业知识解决实际问题的能力,培养了我注重实事求是、独文思考的科学精神,提高了从事专业的实际工作能力,为我以后的发展打下了坚实的基础。

1.2 系统目标

游戏加载完毕点击界面即可开始游戏。

鼠标点击控制小鸟飞行,或者通过键盘控制小鸟的前后上下也可以,不要撞到管道哦!

控制好小鸟越过障碍飞得更远,获得更高的积分。

第二章 飞翔的小鸟系统需求分析

2.1 系统功能需求

需求分析是对即将开发的系统确定一个完整的,准确的要求。需求分析的结果是否完美解决了用户的问题,将直接影响到后面的进程,并影响到设计结果是否能让用户接受。软件需求分析对软件系统提出了清楚、准确、全面而具体的要求,是对软件使用者意图不断进行揭示与准确判断的过程,它并不考虑系统的具体实现,而是严密地、完整地描述了软件系统应该做些什么的一种过程。飞翔的小鸟主要需要特殊nPC,开始背景,结束背景。我方飞机可以随意移动,柱子无规律出现。游戏玩家通过鼠标移动控制小鸟移动。

2.1.1游戏状态控制功能:

游戏的状态控制包括运行、暂停、恢复及结束游戏,首先是游戏的开始页面,在游戏正在进行时,如果你有其他的事情又不想结束游戏你可以将鼠标移出游戏界面或者鼠标在游戏界面单击即可暂停游戏,当你的其他事情解决后你还可以选择恢复游戏,继续玩下去,当游戏结束时会显示游戏结束界面。

2.1.2游戏难度的调整:

玩家随着玩游戏的时间的增加,柱子的数量会增加,出现的频率会有所提高,移动速度也会提高。

2.1.3游戏界面绘画功能:

在右上角显示游戏时间(游戏难度于时间成正比,即游戏时间越长难度越高),玩家游戏得分,与小鸟,游戏主屏用来显示玩家对的出现及移动的显示。

2.1.4玩家游戏控制功能:

玩家可以通过控制移动鼠标来控制小鸟的移动。

2.2统配置

2.2.1软件配置

服务器端:安装Java虚拟机,Eclipse

客户端:  安装Java虚拟机

开发环境:Eclipse

开发语言:Java

Web服务平台:resin-4.0.36

2.2.2硬件配置

服务器端: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 专业版

2.2.3络配置

网络:服务器和客户端应有网络连通。配置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计划”,这是中国首次将游戏技术纳入国家科技计划当中。

综上所述,此系统开发目标已明确,在技术和经济方面都是都可行。所依此系统的开发是完全可行的。

第三章 飞翔的小鸟游戏总体设计

3.1 功能设计

创建好项目后,在正式开始编写代码前,先下载游戏素材放入正确的目录下。开发过程中使用的一些参数,如坐标、尺寸、速度等,你可以直接使用这些参数值,也可以尝试自定义这些参数值。

3.2 系统功能设计

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;

    }

}

第四章 详细设计

4.1 开发工具的选用及其介绍

4.1.1

封装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刚学完想巩固练习,用的都是一些基础性的知识

可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是:代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。

封装:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。

4.2 详细模块设计

(1) 程序流程图

Java小游戏-飞翔小鸟_第1张图片

程序源码https://download.csdn.net/download/m0_54570435/87719869

 

你可能感兴趣的:(java,eclipse,开发语言,课程设计)