林libGDX和有一个这样的阵列列表中的所有状态中的元素:libgdx阵列列表包含使用
public final List<Element1> element1s;
然后,我添加这样的元件:
Element1 element1 = new Element1(384, 960);
element1s.add(element1);
Element1 element2 = new Element1(384 + 122, 960 - 24);
element1s.add(element2);
的元素1的类给每个元件的随机状态:
// STATE
public int ELEMENT1_STATE1_GREEN = 0;
public int ELEMENT1_STATE1_BLUE = 1;
public int ELEMENT1_STATE1_PINK = 2;
public int ELEMENT1_STATE1_YELLOW = 3;
public int ELEMENT1_STATE1_RED = 4;
public int ELEMENT1_STATE1_ORANGE = 5;
public int ELEMENT1_STATE1_PURPLE = 6;
public int ELEMENT1_STATE1_WHITE = 7;
public Element1(float x, float y) {
super(x, y, ELEMENT1_WIDTH, ELEMENT1_HEIGHT);
state1 = rand.nextInt(8);
}
现在我想检查列表中的元素是否包含state1的所有ints(从0到7)......确切地说,如果(同时)列表包含状态1 = 0的元素1,状态1 = 1的元素1,状态1 = 2的元素1 ...等等,直到元素1与状态1 = 7 ...因此不存在具有相同状态1的两个元素。我应该怎么做?
有可能有几十种方法来做到这一点。但是我的问题是,如果你发现它至少包含一种类型,你将如何处理这个列表?如果答案是你将重建列表,也许你应该改变你的创建列表的方法,这样它不会产生一个不可接受的列表。此外,你没有提到列表中有多少元素,这就是为什么我没有发布任何解决方案。我不清楚它是否只有8个项目,或者是否大于8个,并且您是否只想检查每个类型中是否至少有*个。 – Tenfour04 2015-02-11 21:34:53
首先感谢您的回复......抱歉,我的问题有点不清楚,我猜!我试图用这个代码来玩游戏。列表中有16个元素!如果我拍摄一个元素,它会随机改变它的状态......但是在游戏运行时总是必须有所有状态......所以我必须检查一个镜头元素是否可以随机更改其状态,因为其他元素重复从0到7的所有状态,或者如果它必须更改为状态,其他元素不表示在那个时间.. – 2015-02-11 22:33:04