我正在嘗試開(kāi)發(fā)一個(gè)簡(jiǎn)單的“tris 游戲”(用戶與計(jì)算機(jī))。在這種情況下,應(yīng)用程序顯示了一個(gè)由 9 個(gè)按鈕組成的網(wǎng)格,一旦點(diǎn)擊它們就會(huì)被著色。實(shí)際上我發(fā)現(xiàn)了一些描述“計(jì)算機(jī)行為”的麻煩,特別是我無(wú)法找到一種方法來(lái)處理計(jì)算機(jī)選擇已被單擊的按鈕的那一刻。這是一段代碼: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;在這里,變量“位置”是一個(gè)包含按鈕位置的列表,然后通過(guò)一個(gè)開(kāi)關(guān)控制所選按鈕是否啟用,并且在肯定的情況下,它提供了使按鈕著色且不可點(diǎn)擊的功能。現(xiàn)在,我試圖在“else”部分獲取一些代碼,以防按鈕已經(jīng)不可點(diǎn)擊(例如用戶之前已經(jīng)點(diǎn)擊了它)。我在想是否有辦法從案例 1 傳遞到案例 2 等等,直到我找到一個(gè)仍然可以點(diǎn)擊的按鈕。有什么建議?
1 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以創(chuàng)建一個(gè) ArrayList 并將您的按鈕放入其中,然后在循環(huán)內(nèi)執(zhí)行測(cè)試。
例子 :
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);
}
}
添加回答
舉報(bào)
0/150
提交
取消