# FightField
# 相关链接
- [哔哩哔哩对应视频的传送门](https://www.bilibili.com/video/av54526303/)
- [项目总结博客](https://hanechiri.github.io/post/java_game_FightFieldFrame/#more)
# 课设目的与要求
根据讲义中策略模式的案例,设计和实现一个基于**策略模式**的角色扮演游戏。其中包括主要有角色类及其子类、相关的行为类集合和测试类等。
通过本次实验,能够在掌握面向对象程序设计的基本思想基础上;深化理解 Java 面向对象程序设计中消息、继承、多态、接口、抽象类和抽象方法等概念和实现方式;并进一步掌握 Java 程序设计中的基本语法和 Java程序运行方法等;理解和应用包(package)。
# 内容
一个游戏中有多种角色(Character),例如:国王(King)、皇后(Queen)、骑士(Knight)、老怪(Troll)。角色之间可能要发生战斗(fight),每场战斗都是一个角色与另一角色之间的一对一战 斗。
每个角色都有自己的生命值 (hitPoint) 、 魔法值(magicPoint)、攻击力值(damage)和防御力值(defense)。
每种角色都有一种武器进行攻击(fight);在程序运行中,可以动态修改角色的武器(setWeaponBehavior)。
每种角色都有一种魔法对自己或者其他角色施法(performMagic);可以动态改变拥有的魔法(setMagicBehavior)。
1. 首先设计和实现抽象类 Characters。
2. 设计和实现 Character 类的几个子类:King、Queen、Knight、Troll。位
3. 设计接口 WeaponBehavior 和 MagicBehavior。
- 接 口 WeaponBehavior 的 实 现 类 :
- KnifeBehavior ( 用 刀 )
- BowAndArrowBehavior ( 用 弓 箭 )
- AxeBehavior ( 用 斧 )
- SwordBehavior(用剑)
- 接口MagicBehavior的实现类:
- HealBehavior(治疗)
- InvisibleBehavior(隐身)。
实现接口中的抽象方法,可以只在屏幕输出简单信息,也可以结合生命值(hitPoint)、攻击力值(damage)和防御力值(defense)计算。
4. 编写测试代码,对以上设计的系统进行测试。要求在程序运行期间,能动态改变角色拥有的武器或者魔法。
5. 自己添加一种角色、或者添加一种武器及魔法,设计相应的类,并编写测试代码进行测试。
6. 按照 Java 的规范,添加详细的文档注释,并用 Javadoc 生成标准的帮助文档。
7. 将上述编译、运行、生成帮助文档的命令,填写至实验报告相应位置。
8. 填写实验报告。并将程序代码及生成的帮助文档打包上交。
# 涉及的主要内容
1. 单例模式。游戏窗口只能有一个对象,因此使用了单例模式。
2. 策略模式。在角色类中有两个抽象策略(武器策略和魔法策略),具体策略在类中实现。
3. 双缓冲技术。在绘制游戏画面的时候使用了双缓冲技术,防止画面闪烁。
4. 多线程。在两处使用了多线程,一处是为了解决按键冲突的问题,另一处是为了实现游戏周期性判定的功能。
5. awt。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计
资源推荐
资源详情
资源评论
收起资源包目录
java课设,简单战斗小游戏.zip (124个子文件)
FightFieldFrame.class 7KB
Characters.class 6KB
GamePad.class 2KB
KnifeBehavior.class 2KB
SwordBehavior.class 2KB
AxeBehavior.class 2KB
BowBehavior.class 2KB
TeleportBehavior.class 2KB
HealBehavior.class 2KB
Grappler.class 1KB
Knight.class 1KB
Troll.class 1KB
Queen.class 1KB
King.class 1KB
ClockThread.class 1KB
InvisibleBehavior.class 1KB
NoneMagicBehavior.class 1KB
MyWindowListener.class 743B
MoveThread.class 605B
WeaponBehavior.class 344B
MagicBehavior.class 310B
.classpath 295B
stylesheet.css 13KB
Bow.gif 6KB
.gitattributes 66B
index-all.html 75KB
Characters.html 39KB
FightFieldFrame.html 35KB
constant-values.html 25KB
StartGameFrame.html 21KB
Grappler.html 19KB
Knight.html 19KB
Queen.html 19KB
King.html 19KB
Troll.html 19KB
HealBehavior.html 15KB
InvisibleBehavior.html 15KB
NoneMagicBehavior.html 14KB
TeleportBehavior.html 14KB
KnifeBehavior.html 13KB
MyWindowListener.html 13KB
BowBehavior.html 13KB
SwordBehavior.html 13KB
AxeBehavior.html 13KB
ClockThread.html 11KB
GamePad.html 11KB
overview-tree.html 10KB
WeaponBehavior.html 10KB
MoveThread.html 9KB
MagicBehavior.html 9KB
help-doc.html 8KB
package-tree.html 6KB
package-tree.html 6KB
package-summary.html 6KB
package-summary.html 6KB
package-summary.html 6KB
package-tree.html 5KB
package-tree.html 5KB
package-summary.html 5KB
overview-summary.html 5KB
package-summary.html 5KB
package-summary.html 5KB
package-tree.html 4KB
package-tree.html 4KB
serialized-form.html 4KB
allclasses-frame.html 4KB
deprecated-list.html 3KB
allclasses-noframe.html 3KB
index.html 3KB
overview-frame.html 1KB
package-frame.html 1KB
package-frame.html 1KB
package-frame.html 1KB
package-frame.html 1KB
package-frame.html 1KB
package-frame.html 959B
FightFieldFrame.java 9KB
Characters.java 9KB
GamePad.java 3KB
ClockThread.java 2KB
SwordBehavior.java 1KB
KnifeBehavior.java 1KB
BowBehavior.java 1KB
AxeBehavior.java 1KB
Grappler.java 1KB
HealBehavior.java 1KB
TeleportBehavior.java 1KB
Knight.java 1KB
Troll.java 1KB
Queen.java 1KB
King.java 1KB
InvisibleBehavior.java 1KB
NoneMagicBehavior.java 1009B
StartGameFrame.java 861B
MyWindowListener.java 849B
MagicBehavior.java 512B
MoveThread.java 500B
WeaponBehavior.java 426B
background.jpg 42KB
gameover.jpg 39KB
共 124 条
- 1
- 2
资源评论
辣椒种子
- 粉丝: 3414
- 资源: 5723
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- tensorflow-gpu-2.5.0-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-gpu-2.5.2-cp39-cp39-manylinux2010-x86-64.whl
- 内含方正小标宋简体、仿宋-Gb2312、黑体、楷体、宋体,五个公文常用字体
- 记忆卡牌游戏源码及可运行文件
- 利用wps的js宏编写的一键格式修改辅助工具
- 基于matlab实现训练RBF网络的,但用的算法是梯度下降法,算法仍然是自己写的.rar
- 基于matlab实现小波分析改造后,可以分析脑电数据的程序,出现32个导联每个通道的功率谱.rar
- 基于matlab实现物体的应力和应变DIC-通过识别一系列图像的变形得到物体的应力和应变
- 基于matlab实现文档+程序NSGA-II多目标优化的matlab代码.rar
- 基于matlab实现文档+程序 多目标优化,NSGA2算法实现.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功