首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java一个设计的有关问题

2011-12-29 
java一个设计的问题不知道有没人玩过魔兽没?呵呵现在我想用java模拟魔兽里的一个人物角色在魔兽里,人物分

java一个设计的问题
不知道有没人玩过魔兽没?呵呵

现在我想用java模拟魔兽里的一个人物角色

在魔兽里,人物分联盟、部落2个阵营,阵营之间是互相对立的
共有9个职业:战士,盗贼,法师,牧师,术士,猎人,萨满,圣骑士,德鲁伊;
共有8个种族:人类,精灵,矮人,侏儒,兽人,牛头,巨魔,亡灵;
其中人类,精灵,矮人,侏儒属于联盟阵营,兽人,牛头,巨魔,亡灵属于部落阵营
现在设想每个种族都可以选择不同的职业创建游戏角色

谁能帮助我设计一个类体系表示以上的关系啊,谢谢了




[解决办法]
这个貌似有点太复杂了吧
[解决办法]
UML
[解决办法]
一个人物类,
有两个属性。
一个是职业,一个是种族。
部落阵营可以通过一个方法从种族得到。

[解决办法]
首先种族,职业,阵营都是基本不变的可以设置为常量,或者说c#/c中的枚举类型.
而一个角色只能选择职业中的一种,阵营中的一种,种族中的一种,故只需要在角色类中添加三个属性即可.
再添加一个构造方法,使得每次创建角色时都能指定角色所属的阵营职业种族,同时这三个属性为只度属性.
(仅供参考)
代码如下:

Java code
package com.moshou;public interface 阵营 {//人物分联盟、部落2个阵营    String LIANMENG="联盟";    String BULUO="部落";}package com.moshou;public interface 职业 {    //战士,盗贼,法师,牧师,术士,猎人,萨满,圣骑士,德鲁伊    String ZHANSHI = "战士";    String DAOZEI="盗贼";    String FASHI="法师";    String MUSHI="牧师";    String SHUSHI="术士";    String LIEREN="猎人";    String SAMAN="萨满";    String SHENGQISHI="圣骑士";    String DELUYI="德鲁伊";}package com.moshou;public interface 种族 {//人类,精灵,矮人,侏儒,兽人,牛头,巨魔,亡灵    String RENLEI="人类";    String JINGLING="精灵";    String AIREN="矮人";    String ZHURU="侏儒";    String SHOUREN="兽人";    String NIUTOU="牛头";    String JUMO="巨魔";    String WANGLING="亡灵";}package com.moshou;public class 角色 {    private String 阵营;    private String 职业;    private String 种族;    public String get阵营() {        return 阵营;    }    public String get职业() {        return 职业;    }    public String get种族() {        return 种族;    }    public 角色(String 阵营, String 职业, String 种族) {        super();        this.阵营 = 阵营;        this.职业 = 职业;        this.种族 = 种族;    }    @Override    public String toString() {        return "该角色的详细信息如下:\n" + "阵营:" + this.阵营 + "\n职业:"+this.职业+"\n种族:" + this.种族;    }}package com.moshou;public class TestMoshou {    public static void main(String[] args) {        角色 juese = new 角色(阵营.BULUO, 职业.DAOZEI, 种族.JINGLING);        System.out.println(juese.toString());    }} 

热点排行