0

我正在为 android 制作一个简单的游戏,我需要声明一个通用类以便稍后在代码中进行转换,我有 3 个类可供选择,它们是动态选择的,我该如何实现?

enum difficulty {
    SIMPLE,
    MEDIUM,
    HARD
};

difficulty dif;

//assign dif

switch(dif) {
    case SIMPLE:
         ...
         break;
    case MEDIUM:
         ...
         break;
    case HARD:
         ...
         break;
}

这一切都取决于选择其中的哪一个..

4

3 回答 3

1

在相应的子类上创建一个interfaceor abstract classthen implements(for interface)/ extends(for abstract) 父类。

例如

public interface IEasy{

}

public class EasyClassA implements IEasy{

}

public class EasyClassB implements IEasy{

}
于 2013-05-29T07:45:42.650 回答
0

如果你想让你的游戏简单,我认为你根本不需要实现子类。如果某些行为或逻辑(例如,不同的 AI 或边界属性)在困难之间发生变化,那么肯定是子类。但是,如果只是配置一些数字(例如,棋盘大小、移动速度、尝试次数、物理常数),那么只需使用 3 个初始化函数或switch类似问题中的函数。

于 2013-05-29T07:52:15.210 回答
0

也许使用一个 Difficulty 基类,然后从该类扩展 3 个难度级别中的每一个,然后在这些类中为难度级别设置东西?

所以像这样:

public virtual DifficultyLevel
{

}

public EasyDifficulty extends DifficultyLevel
{
    // do stuff here to set difficulty to easy
}

public MediumDifficulty extends DifficultyLevel
{
    // do stuff here to set difficulty to medium
}

然后你可以从基本类型的 DifficultyLevel 转换为继承它的任何东西:D

于 2013-05-29T07:43:29.657 回答