Spring Framework - 为游戏创建规则引擎的设计模式

时间:2017-08-17 04:31:33

标签: java spring design-patterns dependency-injection game-engine

我正在寻找一种设计模式或使用弹簧框架的方法,这将允许我根据游戏难度级别制定一套规则或说明。我会在弹簧配置中使用它们并使用配置文件,但问题是它们需要在运行时定义。任何帮助表示赞赏。

问题变成我只是继续传递下面的上下文对象:

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);      
     }

}

1 个答案:

答案 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");
    }
}

参考:http://www.easyrules.org/tutorials/spring-tutorial.html