DEMO: https://miksuki.github.io/ToS/
- 等待讀檔
- Canvas繪製畫面
- 滑鼠事件
- Promise控制消除符石的流程
-
初始化,每個節點的parent都設為自己
-
找出直的和橫的中,同屬性相連≥3顆的部分,並把他們和最左上角的符石(index最小值)union
-
所有點分別和右邊及下面一格做判斷,如果兩者屬性相同且set大小都≥3,union兩者
需要合併的例子:0001
1000
0123
和
1010
0021
0020
0112
兩個000都需要被合併在同一次消除之中 -
最後找一次所有點的parent,就知道哪些點是在同一次消除中