基于Java的愤怒的小鸟游戏的设计与实现
摘要
Java语言是一门面向对象的编程语言,它不但汲取了C++语言的各种精髓,而且还抛弃了C++语言里晦涩难懂的多继承和指针等概念,所以Java语言具有的特征便是:功能超强和易用实用。
Jbox2D中不仅集成了大量物理运动学和机械运动学计算,而且也将物理仿真包集成到类对象中,同时对象也应用在开发人员与用户的交互界面中。所以我们只需要调用对象或者使用相应的功能,就可以模拟出现实生活中的速度、加速度、抛物线运动、重力、碰撞、反弹等各种各样真实的物理运动。
愤怒的小鸟游戏的视角是横向版本的水平视角。背景是为了报复偷鸡蛋的猪,鸟将自己的身体作为武器,就像炮弹一样从弹弓上发射而出,撞向绿猪搭建的堡垒,以达到摧毁绿猪的目的。游戏非常简单,小鸟跳上弹弓,发射角度和强度的改变导致小鸟的落点的不同,玩家需要良好的整体计算,适当的调节强度和角度,从而更准确地击中绿猪。每次击中绿猪,便可获得一定的分数,积累足够的分数便可以通关,游戏设计的体现了放松的情调,乐观的风格。
本文将介绍使用Java语言实现经典的益智类游戏作品“愤怒的小鸟”的开发。游戏将主要实现以下几个功能:游戏玩法功能、页面管理功能、难度和级别功能、碰撞功能、鸟类管理功能、玩家管理功能和备份功能等。此游戏不仅可以给玩家带来欢乐,也会使玩家对开发游戏产生极大地兴趣,让玩家切身体会到Java语言在生活方面的无处不在。
关键词: Java;C++;Jbox2D;物理运动;愤怒的小鸟
目录
摘要 i
Abstract ii
1 绪论 1
1.1 游戏开发的背景 1
1.2 典型的Java游戏介绍 1
1.2.1 Minecraft介绍 1
1.2.2 Super Mario Bros介绍 2
1.2.3 The Sims介绍 3
1.3 游戏开发的意义 3
2 开发环境 4
2.1 开发语言 4
2.2 开发工具 5
2.3 JDK介绍 5
2.4 Java Awt介绍 6
2.5 Java Swing 介绍 7
2.6 Java语言开发平台搭建 9
3系统需求分析 11
3.1 可行性分析 11
3.1.1 技术可行性 11
3.1.2 经济可行性 11
3.1.3 操作可行性 11
3.1.4 发展可行性 12
3.2 性能需求分析 12
3.3 功能需求分析 12
3.4 系统UML分析 13
3.5界面需求分析 14
4 系统设计 16
4.1系统流程设计 16
4.2 系统架构设计 17
5 详细设计 20
5.1 主界面实现 20
5.2 游戏玩法实现 22
5.3 面板管理功能实现 26
5.4 等级、级别管理功能实现 28
5.5 碰撞管理功能实现 32
5.6 鸟类管理功能实现 35
5.7 胜利管理功能实现 38
5.8 玩家管理和备份管理功能实现 40
6 系统测试 44
6.1系统测试简介 44
6.2 系统测试方法 45
6.3 本系统测试 45
6.3.1 测试用例设计 45
6.3.2 测试方法和结论 46
结论 47
参考文献 48
致 谢 49
附录 50
外文原文 50
中文原文 55
1 绪论
1.1 游戏开发的背景
游戏如今已经成为人们生活中不可或缺的一部分,无论是处于童趣中的小孩、还是繁忙工作中的成人,游戏无疑在每一个人生活中起着非常重要的调剂作用。不管是实体玩具还是如今的电子游戏,它们都能给我们留下很多美好的回忆。
本人对Java语言有很大的兴趣爱好,大学期间便对其一直进行学习,而且游戏的制作同时也是我非常感兴趣的一个方面,在此之前也进行过一些小游戏的开发。经此次毕业设计机会,使得我想在专业导师的指导下通过这次毕业设计,来提高自己的Java语言水平,为以后的工作打下坚实的语言基础。
游戏名称是“愤怒的小鸟”,英文称为“AngryBird”。 “愤怒的小鸟”是著名游戏公司Rovio偶然间开发出来的益智游戏,从2009年12月上市到iOS。,讲述了鸟类和猪因为猪偷鸟蛋反生的一系列故事。游戏的类型版本是横向版本的水平视角,背景是为了报复偷鸡蛋的猪,鸟将自己的身体作为武器,就像炮弹一样从弹弓射出抛到绿猪搭建的堡垒,并将其摧毁。 游戏非常简单,小鸟跳上弹弓,发射角度和强度由玩家的自行控制,游戏中需要良好的整体计算,适当的调节强度和角度,从而更精确地击中猪。每次击中更多的绿猪,将获得大量的分数。游戏风格充满乐趣和幽默,游戏设计的体现了放松的情调,乐观的风格。<