切棋盤 (
Capx )
- 拖曳任意棋盤上的棋組
- 隨機切割棋盤, 盡量讓4個相連的棋子做成一個棋組. 不滿4個相連的棋組會以透明度=30表示.
概念
4相連棋組的選取方式為:
1. 先將全部的棋子放入"候選集合"內
2. 從"候選集合"內任選一個棋
3. 找出挑選的棋的3個相連棋子
- 3.1. 將挑出來的棋子放入"目前選取集合"內
- 3.2. 取出"目前選取集合"的所有鄰居, 放入"目前鄰居集合"內.
- 3.3. 從"目前鄰居集合"內, 剔除與"目前選取集合"重疊的部分(與"目前選取集合"差集), 再取出與"候選集合"重疊的部分(與"候選集合"聯集)
- 3.4. 從得到的"目前鄰居集合"內任選一個棋子, 放入"目前選取集合"內. 重複3.1直到選出3個棋子或"目前鄰居集合"為空.
4. 從"候選集合"內剔除與"目前選取集合"重疊的部分, 繼續執行步驟2, 直到"候選集合"為空.
將產生的數個棋子集合, 每一集合都放到一個棋組內, 就可以以
棋組的方式拖曳了. 同樣的原理也可以用來切割六角棋盤.
延伸用途:
隨機產生拼圖塊.