JAVA
連連看之算法:
連連看鏈接方式的類型:
l
兩點直線法
l
三點直角折線法
l
四點方形折線法
l
四點梯形折線法
下面對上面四種類型進行細緻劃分講解:
1.
兩點直線法的鏈接類型包括:上,下,左,右
2.
三點直角折線法包括:上左,上右,下左,下右,左上,右上,左下,右下
3.
四點方形折線法包括:上左下,上右下,下左上,下右上,左上右,右上左,左下右,右下左
4.
四點梯形折線法包括:上左上,下左下,上右上,下左下,左上左,右上右,左下左,右下右
下面關於連連看鏈接方式類型的講解
1. 兩點直線法:
1.
當兩個鏈接對象在同一橫軸座標,不一樣縱軸座標,對象ID要相同(圖像相同)第一個對象在第二對象的左邊,鏈接類型爲‘右’(向右查找);
則這一種是不能夠連的
從第一個對象的橫軸座標開始向第二個對象靠近,第一個對象在左邊,第二對象在右邊,此時咱們的第一個對象要靠近第二個對象,就必須加上對象寬度等於如今一個虛擬向右移一位的對象,而後將這個虛擬對象去與集合當中的對象的X,Y軸座標作比較,看在這個的虛擬的對象位子上有沒有一個實際對象,首先決定這個虛擬的對象是否於第二個對象的XY軸座標相同,若是相同就直接返回True,若是有對象就說明這兩個對象之間不可連的,則返回false.若是不與第二個對象相等,也沒有對象,就繼續向第二對象靠近,依次類推,直到找到第二個對象,或中間有阻攔對象,就結束查找。
2.
當兩個鏈接對象在同一橫軸座標,不一樣縱軸座標,對象ID要相同(圖像相同)第一個對象在第二對象的右邊,鏈接類型爲‘左’(向左查找);
則這一種是不能夠連的
從第一個對象的橫軸座標開始向第二個對象靠近,第一個對象在右邊,第二對象在左邊,此時咱們的第一個對象要靠近第二個對象,就必須減除對象寬度等於如今一個虛擬向左移一位的對象,而後將這個虛擬對象去與集合當中的對象的X,Y軸座標作比較,看在這個的虛擬的對象位子上有沒有一個實際對象,首先決定這個虛擬的對象是否於第二個對象的XY軸座標相同,若是相同就直接返回True,若是有對象就說明這兩個對象之間不可連的,則返回false.若是不與第二個對象相等,也沒有對象,就繼續向第二對象靠近,依次類推,直到找到第二個對象,或中間有阻攔對象,就結束查找。
3.
當兩個鏈接對象在同一縱軸座標,不一樣橫軸座標,對象ID要相同(圖像相同),第一對象在第二對象的上方,鏈接類型爲:下(向下查找)
則這一種是不能夠連的
從第一個對象的縱軸座標開始向第二個對象靠近,第一個對象在上邊,第二對象在下邊,此時咱們的第一個對象要靠近第二個對象,就必須加上對象高度等於如今一個虛擬向下移一位的對象,而後將這個虛擬對象去與集合當中的對象的X,Y軸座標作比較,看在這個的虛擬的對象位子上有沒有一個實際對象,首先決定這個虛擬的對象是否於第二個對象的XY軸座標相同,若是相同就直接返回True,若是有對象就說明這兩個對象之間不可連的,則返回false.若是不與第二個對象相等,也沒有對象,就繼續向第二對象靠近,依次類推,直到找到第二個對象,或中間有阻攔對象,就結束查找。
4.
當兩個鏈接對象在同一縱軸座標,不一樣橫軸座標,對象ID要相同(圖像相同),第一對象在第二對象的下方,鏈接類型爲:上(向上查找)
從第一個對象的縱軸座標開始向第二個對象靠近,第一個對象在下邊,第二對象在上邊,此時咱們的第一個對象要靠近第二個對象,就必須減除對象高度等於如今一個虛擬向下移一位的對象,而後將這個虛擬對象去與集合當中的對象的X,Y軸座標作比較,看在這個的虛擬的對象位子上有沒有一個實際對象,首先決定這個虛擬的對象是否於第二個對象的XY軸座標相同,若是相同就直接返回True,若是有對象就說明這兩個對象之間不可連的,則返回false.若是不與第二個對象相等,也沒有對象,就繼續向第二對象靠近,依次類推,直到找到第二個對象,或中間有阻攔對象,就結束查找。
接下來的三種就再也不詳細講解了,若是有興趣者可與我討論,聯繫方式QQ:565345652
下面來介紹一下我實現的一個連連看界面表現:
遊戲開始界面和遊戲開始設置界面:
進入遊戲界面:
後續文章將對連連看遊戲的一些功能模塊進行介紹!