题目
java课设,一个游戏中有多种角色(Character),例如:国王(King)、皇后(Queen)、骑士(Knight)、老怪(Troll)。
角色之间可能要发生战斗(fight),每场战斗都是一个角色与另一角色之间 的 一 对 一 战 斗 。 每 个 角 色 都 有 自 己 的 生 命 值 (hitPoint) 、 魔法值(magicPoint)、攻击力值(damage)和防御力值(defense)。每种角色都有一种武器进行攻击(fight);在程序运行中,可以动态修改角色的武器(setWeaponBehavior)。
每种角色都有一种魔法对自己或者其他角色施(performMagic);可以动态改变拥有的魔法(setMagicBehavior)
效果
部分代码
角色抽象类
// An highlighted block
/**
* 这是文档注释
* @author 张光远
* @version 创建时间:2020年6月14日 下午2:33:38
*/
package zhangguangyuan5377.characters;
import zhangguangyuan5377.behavior.*;
// TODO: Auto-generated Javadoc
/**
* The Class Characters.
*/
public abstract class Characters {
/** The Id. */
//类的实现
private int Id;
/** The name. */
private String name;
/** The hitpoint. */
private int hitpoint;//生命值
/** The magicpoint. */
private int magicpoint;//魔法值
/** The damage. */
private int damage;//攻击力值
/** The defense. */
private int defense;//防御力值
/** The point. */
private int point[]=new int[4];//记录角色自身各项值,切换武器时用以恢复初始值
/** The weapon. */
protected WeaponBehavior weapon;//武器
/** The magic. */
protected MagicBehavior magic;//魔法
/** The skill. */
protected String skill[]=new String[3];//平a技能,武器技能,魔法技能
/** The feature. */
protected String feature;
/**
* Instantiates a new characters.
*/
public Characters() {
this.Id=0;
this.name="未命名";
hitpoint=800;
magicpoint=200;
damage=80;
defense=15;
point[0]= hitpoint;
point[1]=magicpoint;
point[2]=damage;
point[3]=defense;
}
/**
* Instantiates a new characters.
*
* @param name the name
*/
public Characters(String name) {
this();
this.name