如何在java中使用OOP设计RPG类系统?

时间:2017-10-25 06:56:42

标签: java class oop roguelike

我正在制作一个基于Trystan's Tutorial的roguelike,并遇到了实现类系统的问题。我很确定解决方案很简单,但请耐心等待。

class Creature {
    int HP;
    CharacterClass playerClass = new Wizard();
    HP = playerClass.hitDie;
    ArrayList<Ability> creatureAbilityList = new ArrayList<>();
    creatureAbilityList.add(classAbilityList.get(1));
}

class CharacterClass {
    int hitDie;
    ArrayList<Ability> classAbilityList = new ArrayList<>();
}

class Wizard extends CharacterClass {
    Wizard() {
        hitDie = 6;
        classAbilityList.add(new Ability(magicMissile));
    }
}

我在“new Wizard()”后面的分号上收到“令牌上的语法错误”;“,预期”。我很确定这不是问题,而是我的类和继承的设置方式。我应该如何设置代码呢?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

问题是下面的一行。它应该是

    int HP=playerClass.hitDie;

(并删除行int HP;

答案 1 :(得分:0)

你应该使hitDie变为私有,并使用getter和setter来访问它以启用polimorphism(因此调用的getHitDie()将是类向导而不是类CharacterClass之一)