Java 面向对象程序设计 消息、继承与多态实验 课程设计研究报告

代码:Java计算机课程设计面向对象程序设计对战游戏SwingGUI界面-Java文档类资源-CSDN文库

 

一、课程设计内容

一个游戏中有多种角色(Character),例如:国王(King)、皇后(Queen)、骑士(Knight)、老怪(Troll)。

 角色之间可能要发生战斗(fight),每场战斗都是一个角色与另一角色之间的一对一战斗。每个角色都有自己的生命值(hitPoint)、魔法值(magicPoint)、攻击力值(damage)和防御力值(defense)。

每种角色都有一种武器进行攻击(fight);在程序运行中,可以动态修改角色的武器(setWeaponBehavior)。

每种角色都有一种魔法对自己或者其他角色施法(performMagic);可以动态改变拥有的魔法(setMagicBehavior)。

二、技术路线

1)首先设计和实现抽象类Characters,其中:

Characters中的display方式是抽象方法。publicvoidfight(Charactersc)完成本角色攻击角色c的操作。

2)设计和实现Character类的几个子类:King、Queen、Knight、Troll。3)设计接口WeaponBehavior和MagicBehavior。并编写以下类的代码:

a)接口WeaponBehavior的实现类:KnifeBehavior(用刀)、BowAndArrowBehavior(用弓箭)、AxeBehavior(用斧)、SwordBehavior(用剑);实现接口中的抽象方法,结合生命值(hitPoint)、攻击力值(damage)和防御力值(defense)计算。

b)接口MagicBehavior的实现类:HealBehavior(治疗)、InvisibleBehavior(隐身)。结合生命值(hitPoint)、魔法值(magicPoint)、攻击力值(damage)和防御力值(defense)计算。

三、设计与实现

使用NetBeans IDE,。角色的初始攻击力和魔法值都为0,装备不同的武器后获得不同的攻击力,魔法值由选择的魔法决定。每个角色拥有不同的生命值和防御力,攻击造成的伤害为进攻方的攻击力减去被攻击方的防御力。治疗法术作用是恢复等同于魔法值的攻击力,隐身法术则是保护自己不受到武器攻击的伤害。

【特色】增加了一种角色Thief(小偷)。

四、测试与结果

可以实现所有功能

五、感想和体会

通过这次实验,我掌握了Java面向对象程序设计的基本思想,理解并学会运用消息、继承、多态、接口、抽象类和抽象方法等概念和实现方式;掌握了Java程序设计中的基本语法和Java程序运行方法等,并对Netbeans的使用更加熟悉了。

六、要求的编译、运行、生成帮助文档的命令

1.编译

cd E:\demo\src

javac -d ../bin xx\demo\StrategyDemo.java -encoding utf-8

2.运行

java xx.demo.StrategyDemo -Dfile.encoding=utf-8

3.生成帮助文档

cd E:\demo\src

javadoc -d ../doc xx.behavior xx.character xx.demo -encoding utf-8

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hinomoto Oniko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值