基于Jbox2D的愤怒的小鸟游戏的设计与实现
摘要
Java语言是一门面向对象的编程语言,它不但汲取了C++语言的各种精髓,而且还抛弃了C++语言里晦涩难懂的多继承和指针等概念,所以Java语言具有的特征便是:功能超强和易用实用。
Jbox2D中不仅集成了大量物理运动学和机械运动学计算,而且也将物理仿真包集成到类对象中,同时对象也应用在开发人员与用户的交互界面中。所以我们只需要调用对象或者使用相应的功能,就可以模拟出现实生活中的速度、加速度、抛物线运动、重力、碰撞、反弹等各种各样真实的物理运动。
愤怒的小鸟游戏的视角是横向版本的水平视角。背景是为了报复偷鸡蛋的猪,鸟将自己的身体作为武器,就像炮弹一样从弹弓上发射而出,撞向绿猪搭建的堡垒,以达到摧毁绿猪的目的。游戏非常简单,小鸟跳上弹弓,发射角度和强度的改变导致小鸟的落点的不同,玩家需要良好的整体计算,适当的调节强度和角度,从而更准确地击中绿猪。每次击中绿猪,便可获得一定的分数,积累足够的分数便可以通关,游戏设计的体现了放松的情调,乐观的风格。
本文将介绍使用Java语言实现经典的益智类游戏作品“愤怒的小鸟”的开发。游戏将主要实现以下几个功能:游戏玩法功能、页面管理功能、难度和级别功能、碰撞功能、鸟类管理功能、玩家管理功能和备份功能等。此游戏不仅可以给玩家带来欢乐,也会使玩家对开发游戏产生极大地兴趣,让玩家切身体会到Java语言在生活方面的无处不在。
关键词 Java;C++;Jbox2D;物理运动;愤怒的小鸟
Design and implementation of angry birds game based on Java
Abstract
Java language is an object-oriented programming language, it not only draws the essence of the C + + language, but also abandoned the C + + language obscure multi-inheritance and pointer concepts, so the Java language has the following characteristics: Super and easy to use practical.
Jbox2D not only integrates a large number of physical kinematics and mechanical kinematics calculations, but also the physical simulation package into the class object, while the object is also used in the developer and user interface. So we only need to call the object or use the appropriate function, you can simulate real life in the speed, acceleration, parabolic movement, gravity, collision, rebound and other real physical movement.
The type of game is horizontal horizontal view of the version. The background is to retaliate to steal the eggs of the pig, the birds will be their own body as a weapon, like shells from the slingshot thrown into the green pig fortress. The game is very simple, the birds on the slingshot, the angle of the pop-up and strength by the player's finger control, pay attention to a good overall calculation, the appropriate adjustment of strength and angle, and thus more accurately hit the pig. Each time hit more green pigs, will get a lot of scores, the game style is full of fun and humor, the game design reflects the relaxed atmosphere, optimistic style.
This article will introduce the use of Java language to achieve the classic puzzle game "angry bird" development. The game will mainly achieve the following functions: gameplay function, page management functions, difficulty and level function, collision function, bird management function, player management function and backup function. This program is intended to stimulate the use of the game to stimulate the use of players and learning interest, so that players experience the Java language in the life of countless.
Key words: Java; C++;Jbox2D; Physical movement; angry birds
目录
摘要 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