如何在Java中实现枚举嵌套及难度与世界尺寸的自由组合?
世界生成器的枚举拆分需求与实现
初始实现
我正在开发一个世界生成器,它目前包含两个核心配置选项:世界尺寸与难度。最初我采用如下枚举实现:
public enum WorldType { TEST,EASY,MEDIUM,HARD; public int size(){ return switch (this) { case TEST -> 30; case EASY -> 200; case MEDIUM -> 500; case HARD -> 1000; }; } }
需求调整
现在需要对代码进行调整,将难度与尺寸分离,且二者需支持自由组合,例如实现TEST.TINY、EASY.LARGE这类形式的组合。
我调研时尝试过枚举嵌套的方案,但无法实现我设想的组合方式。希望找到一种无需冗余代码的简洁实现方法,虽然见过用接口、结构体和类实现的方案,但还是想尽可能保持代码简洁。
可行方案(更新)
感谢大家的反馈,我找到了一个可行的方案(尽管并非我最初设想的形式):
public enum WorldType { TEST,EASY,MEDIUM,HARD; public enum Size { TINY(30),SMALL(200),MEDIUM(500),LARGE(1000); private int value; Size(int value){ this.value = value; } public int get(){ return value; } } }
内容的提问来源于stack exchange,提问作者Wewius
相关产品推荐
相关产品推荐

