我正在尝试开发一个简单的“ tris游戏”(用户与计算机)。 在这种情况下,应用程序将显示由9个按钮组成的网格,并且一旦单击它们便会着色。 实际上,我发现一些描述“计算机行为”的麻烦,特别是当计算机选择已经单击的按钮时,我找不到一种处理方法。这是一段代码:
switch (position.get(i)){
case 1:
if (button11.isEnabled()) {
button11.setEnabled(false);
button11.setBackgroundColor(Color.RED);
}else{
}
break;
case 2:
if (button12.isEnabled()) {
button12.setEnabled(false);
button12.setBackgroundColor(Color.RED);
}
break;
在这里,变量“位置”是一个包含按钮位置的列表,然后通过开关控制选中的按钮已启用,并且在某些情况下,它可以使按钮变色且永远不可单击。 现在,我试图在“ else”部分中获取一些代码,以防按钮不可单击(例如,用户之前已经单击了它)。 我在想是否有办法从案例1转移到案例2,依此类推,直到 我发现仍然可以单击一个按钮。有什么建议么?
答案 0 :(得分:0)
您可以创建一个ArrayList并将按钮放在其中,然后在循环内执行测试。
示例:
ArrayList<Button> buttonList= new ArrayList<Button>();
//put your buttons inside the list in order : buttonList.add(button0);...
for(int i=0;i<position.size();i++){
if(buttonsList.get(i).isEnabled()){
buttonList.get(i).setEnabled(false);
buttonList.get(i).setBackgroundColor(Color.RED);
}
}