代码: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