我正在寻找一种设计模式或使用弹簧框架的方法,这将允许我根据游戏难度级别制定一套规则或说明。我会在弹簧配置中使用它们并使用配置文件,但问题是它们需要在运行时定义。任何帮助表示赞赏。
问题变成我只是继续传递下面的上下文对象:
public class Game {
private MapMaker mapmaker;
@Autowired
public(MapMaker mapmaker){
this.mapmaker = mapmaker;
}
public void createGame(DifficulyLevel level){
Boss myBoss = getBoss(difficultyLevel);
BossWeapon = getBossWeapon(difficultyLevel);
MapInstructions mapInstructions = getMapConstructionInstructions(diffcultyLevel);
mapmaker.makemap(mapInstructions);
}
}
答案 0 :(得分:3)
Easyrules框架非常简单有效,您可以非常轻松地与弹簧集成。既然它是基于/然后基于框架,我认为它将帮助您达到目的。
@Rule(name = "dummy rule")
public class DummyRule {
@Condition
public boolean when() {
return true;
}
@Action
public void then(){
System.out.println("Hey, I'm managed by Spring");
}
}