canvas并查集画随机迷宫
生活随笔
收集整理的這篇文章主要介紹了
canvas并查集画随机迷宫
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前學(xué)習(xí)不想交集合(并查集)的數(shù)據(jù)結(jié)構(gòu),看了很多大老用窗體畫出隨機迷宮,感覺挺震撼的,下心學(xué)習(xí)了一下。
這個過程想著不太復(fù)雜,就是做起來挺麻煩,需要自己一點點處理。大概步驟如下
1:定義好不想交集合的基本類和方法(search,union等)
2:數(shù)組初始化,每一個數(shù)組元素都是一個集合,值為-1
3:隨機查找一個格子(一維數(shù)據(jù)要轉(zhuǎn)換成二維,有點麻煩),在隨機找一面墻(也就是找這個格子的上下左右),還要判斷找的格子出沒出界。
4:判斷兩個格子是否在一個集合。如果在,則重新找,如果不在,那么把墻挖去
5:把墻挖去有點繁瑣,需要考慮奇偶判斷它那種墻,然后擦掉。(根據(jù)數(shù)組轉(zhuǎn)換成真實距離)
6:最終得到一個完整的迷宮。
js的代碼如下:
總結(jié)
以上是生活随笔為你收集整理的canvas并查集画随机迷宫的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pat德才论(java)
- 下一篇: PAT有几个pat