现在发生了什么?
此时我可以点击一个块,接收它的号码,然后将号码存储到int[] vakkenSelected
。存储在int[] vakkenSelected
中的最大数量是3.这意味着我只能选择3个块(selCount < 3
)。每次按下一个块时,selCount增加1. selCount用于将号码存储在int[] vakkenSelected
的下一个键中。
我想要发生什么?
int[] vakkenSelected
)必须取消选中(从int[] vakkenSelected
移除或更改为&#39; -1&#39;)。感谢。
外部范围:
int selCount = 0;
int[] vakkenSelected = new int[3];
内部范围:
void mousePressed() {
int x = mouseX;
int y = mouseY;
for(int i = 0; i < posities.length; i++) {
int num = posities[i][0];
int posX = posities[i][1];
int posY = posities[i][2];
if(x > posX && x < posX+vakBreedte && y > posY && y < posY+vakHoogte && selCount < 3) {
vakkenSelected[selCount] = num;
selCount++;
}
}
}
答案 0 :(得分:0)
Stack Overflow实际上并不是针对一般的“我该怎么做”这类问题而设计的。这是针对具体的“我试过X,期待Y,但得到Z而不是”类型的问题。但我会尽力帮助。
听起来你已经知道你需要做什么了:
同一个区块不能再被选择一次。
如果再次按下已经选中的块(存储在int [] vakkenSelected中),则必须取消选择它(从int [] vakkenSelected中删除或更改为'-1')。
我建议您通过this process将需求转换为代码。
听起来你可以使用2D布尔数组,只检查该块是否已经激活。如果是,请将其切换为非活动状态,然后在选定列表中添加或删除它。