我有一個8乘8線性佈局的按鈕。我正在製作一個類似於boggle的小遊戲,當我點擊一個按鈕時,我希望能夠禁用除周圍按鈕之外的所有按鈕。這也涉及到邊緣的按鈕。我基本上需要一些幫助來啓動這個遊戲的邏輯。任何幫助表示讚賞。我到目前爲止已經考慮過程序的結構以及8乘8圖可能如何激活其鄰居,也許如果我可以訪問每個按鈕的單元格,我可以進一步發展。謝謝。當我點擊一個按鈕,我想只激活其周圍的按鈕。這怎麼可能?
1
A
回答
1
擴展按鈕並根據他們的鄰居是誰給每個按鈕Buttonlisteners。根據你如何將它們連接在一起,每個按鈕都會有一個按鈕監聽器綁定到它的每個鄰居。如果你不希望使用對角線鄰域,按鈕將有5個buttonlisteners的最大值(如果按鈕是聽它自己的按鈕))
0
這應該是可以使用簡單的地圖來實現:
Map<Button, List<Button>> surroundingButtons = new HashMap<Button, List<Button>>();
然後,此地圖對每個按鈕都填充了其周圍按鈕的列表。不幸的是,我不知道如何在這個時候輕鬆地做到這一點。 我在想,像是將所有按鈕添加到單個列表中,然後使用當前按鈕的索引+/- 8取模索引來選取它們...手動添加它們可能同樣簡單。
當地圖準備就緒時,禁用周圍的按鈕非常簡單。
Button clickedButton; // not showing the onClickListener
for (Button sButton: surroundingButtons.get(clickedButton)) {
sButton.setEnabled(false);
}
編輯:
閱讀的問題錯了,但; 禁用所有按鈕,除了爲其周圍的按鈕 這個想法仍然適用,只需將所有您希望禁用的按鈕添加到與地圖中的按鈕相關聯的列表。
相關問題
- 1. 當我點擊一個按鈕的listview另一個按鈕也點擊我怎麼能阻止它
- 2. 我怎樣才能使周圍按鈕
- 3. 我怎麼可以不點擊按鈕
- 4. 我想這個IMG類是一個按鈕,當你點擊它
- 5. 我想激活功能,點擊一個按鈕與id =「add_city」截至目前它按下輸入時激活
- 6. 我想點擊一個按鈕
- 7. 我想創建一個頁面,我有一個按鈕和按鈕點擊打開其他按鈕
- 8. 我想停止按鈕點擊功能
- 9. JQuery的數據表mRender按鈕 - 我怎麼點擊按鈕
- 10. 重繪只有當我點擊按鈕
- 11. 當我點擊一個按鈕
- 12. 當我點擊一個按鈕
- 13. 當我點擊一個按鈕在android
- 14. 當我點擊一個按鈕
- 15. 我只是想隨機點擊一些按鈕,然後當我點擊總結按鈕,它會顯示總和
- 16. 當我點擊按鈕java
- 17. 當我點擊按鈕
- 18. 單擊一個按鈕,然後激活另一個按鈕
- 19. 一次只激活一個按鈕
- 20. 我想要我的控件值。只有一次當我點擊按鈕
- 21. C# - 我想點擊回車,而不是點擊「按鈕」來激活程序
- 22. 如何激活一個UISearchDisplayController當按鈕被點擊
- 23. 我怎樣才能讓一個按鈕點擊,使其他按鈕!點擊離子V1?
- 24. 爲什麼當我點擊按鈕
- 25. 我怎樣才能點擊一個表中的按鈕?
- 26. 我怎樣才能使這個彈出窗口只加載點擊按鈕
- 27. onLoadFinished當我點擊從其他活動的按鈕時調用
- 28. 當我點擊一個按鈕時,爲什麼會出現相同的按鈕?
- 29. 當我點擊另一個按鈕時,無法停止按鈕點擊事件
- 30. 片段生命週期,我想只能用刷新按鈕點擊
我想如果我嘗試這樣做,我會有一個二維數組按鈕,所有這些數組都被調用回到同一個控制器,該控制器在遊戲狀態發生變化時處理啓用/禁用按鈕的邏輯。我對boggle不熟悉,但這可能是我嘗試處理你正在做的事情的方式。 – Prmths
ALSO: 試試這個鏈接,它是一個java實現的boggle:http://www.gtoal.com/wordgames/duke_boggle/joggle/ – Prmths