本發(fā)明涉及路徑計算,具體的說是一種計算連連看游戲中連接路徑的方法及工具。
背景技術(shù):
1、在連連看游戲開發(fā)中,計算路徑是一個關鍵的技術(shù),用于確定兩個圖案元素之間的連接路徑。以下是一些現(xiàn)有的技術(shù)和算法:
2、(1)廣度優(yōu)先搜索(bfs):廣度優(yōu)先搜索是最常用的計算路徑的算法之一。它從起始圖案開始,通過逐層遍歷的方式搜索可連接的圖案,直到找到目標圖案或遍歷完所有可能的路徑。bfs算法可以保證找到的路徑是最短路徑,但在處理大規(guī)模的游戲界面時可能會消耗較大的計算資源。
3、(2)雙向搜索是一種優(yōu)化技術(shù),同時從起始圖案和目標圖案開始搜索,直到兩邊的搜索路徑相交。通過同時進行正向和反向搜索,可以減少搜索的范圍和時間復雜度,從而加快路徑計算的速度。
4、這些現(xiàn)有技術(shù)為連連看游戲的開發(fā)和優(yōu)化提供了基礎,但還存在一些挑戰(zhàn)和改進空間,例如如何提高路徑計算的準確性,如何能在確定最優(yōu)路徑的同時降低執(zhí)行程序的復雜度,如何提高計算效率等。
技術(shù)實現(xiàn)思路
1、本發(fā)明針對目前技術(shù)發(fā)展的需求和不足之處,提供一種計算連連看游戲中連接路徑的方法及工具,解決連連看游戲連接路徑的計算問題。
2、第一方面,本發(fā)明提供一種計算連連看游戲中連接路徑的方法,解決上述技術(shù)問題采用的技術(shù)方案如下:
3、一種計算連連看游戲中連接路徑的方法,其包括如下步驟:
4、s1、根據(jù)連連看游戲規(guī)則,定義三種路徑集合,確定三種路徑集合的從屬關系,并形成計算每種路徑集合的邏輯單元;
5、s2、連連看游戲開始后,首先以坐標形式標記游戲界面顯示的圖案元素,隨后確定要進行連接的兩個元素,根據(jù)路徑集合的從屬關系遞歸調(diào)用對應的邏輯單元,計算連接路徑,實現(xiàn)所述兩個元素的連接消除,或者,得到連接路徑不可行的計算結(jié)果。
6、可選的,所涉及步驟s1具體包括:
7、根據(jù)連連看游戲規(guī)則,定義最小子集、父集和最大集合三種路徑集合,其中,最小子集包括直線連接路徑,父集包括一拐角連接路徑,最大集合包括兩拐角連接路徑;
8、基于直線連接路徑、一拐角連接路徑和兩拐角連接路徑三者之間的包含關系,確定最小子集從屬于父集,父集從屬于最大集合;
9、針對最小子集的直線連接路徑,創(chuàng)建計算兩點之間是否可以進行直線連接的邏輯單元一;針對父集的一拐角連接路徑,以邏輯單元一為基礎,創(chuàng)建計算兩點之間增設一個拐點后是否可以進行一拐角連接的邏輯單元二;針對最大集合的兩拐角連接路徑,以邏輯單元一和邏輯單元二為基礎,創(chuàng)建計算兩點之間增設兩個拐點后是否可以進行兩拐角連接的邏輯單元三。
10、進一步可選的,執(zhí)行步驟s2,確定要連接的兩個相同元素,根據(jù)路徑集合的從屬關系遞歸調(diào)用對應的邏輯單元,計算連接路徑,實現(xiàn)所述兩個元素的連接消除,或者,得到連接路徑不可行的計算結(jié)果,這一過程具體包括:
11、s2.1、要進行連接的元素a和元素b具有相同的內(nèi)容,獲取元素a和元素b的x坐標和y坐標;
12、s2.2、判斷元素a和元素b的x坐標或y坐標是否相等,若相等,則執(zhí)行步驟s2.3,若不相等,則執(zhí)行步驟s2.4或步驟s2.5;
13、s2.3、調(diào)用邏輯單元一,計算元素a和元素b的連接直線上是否存在未消除元素,i)若不存在未消除元素,則計算完成,得出元素a和元素b之間的直線連接路徑,ii)若存在未消除元素,則得出結(jié)論:元素a和元素b之間不可以進行直線連接;
14、s2.4、調(diào)用邏輯單元二,計算元素a和元素b的x軸與y軸之間的交點,所述交點位置對應空白元素時,將交點設為有效拐點m,調(diào)用邏輯單元一,計算元素a與有效拐點m的連接直線上是否存在未消除元素,同時計算元素b與有效拐點m的連接直線上是否存在未消除元素,i)若均不存在未消除元素,則計算完成,得出元素a與有效拐點m之間的直線連接路徑、有效拐點m與元素b之間的直線連接路徑,合并這兩個直線連接路徑即得到一拐角連接路徑,ii)若存在未消除元素,則得出結(jié)論:元素a和/或元素b與有效拐點m之間不可以進行直線連接,即元素a和元素b之間不可以進行一拐角連接;
15、s2.5、調(diào)用邏輯單元三,以元素a為起點,在元素a的x軸與y軸上向元素b的方向進行遍歷,將遍歷過程中的空白元素作為潛在拐點,隨后調(diào)用邏輯單元二,計算任一潛在拐點與元素b之間是否可以進行一拐角連接,i)若是,則計算完成,得出元素a與潛在拐點q之間的直線連接路徑、潛在拐點q與有效拐點m之間的直線連接路徑、有效拐點m與元素b之間的直線連接路徑,合并這三個直線連接路徑即得到兩拐角連接路徑,ii)若否,則得出結(jié)論:潛在拐點q與元素b之間不可以進行一拐角連接,即元素a和元素b之間不可以進行兩拐角連接。
16、優(yōu)選的,執(zhí)行步驟s2.5,調(diào)用邏輯單元三,以元素a為起點,在元素a的x軸與y軸上向元素b的方向進行遍歷時,首先調(diào)用邏輯單元一,計算遍歷過程中空白元素與元素a之間的連接直線上是否存在未消除元素,若不存在未消除元素,則將該空白元素作為潛在拐點,隨后調(diào)用邏輯單元二,計算潛在拐點與元素b之間是否可以進行一拐角連接。
17、可選的,執(zhí)行步驟s2,以坐標形式標記游戲界面顯示的圖案元素,具體操作包括:
18、將游戲界面顯示的圖案元素放置在一個坐標系內(nèi),所述坐標系中包括未消除元素和空白元素;
19、以坐標(x,y)形式表示坐標系內(nèi)的所有元素,并在每個坐標點上標注其對應的元素內(nèi)容。
20、第二方面,本發(fā)明提供一種計算連連看游戲中連接路徑的工具,解決上述技術(shù)問題采用的技術(shù)方案如下:
21、一種計算連連看游戲中連接路徑的工具,其包括:
22、規(guī)則定義模塊,用于根據(jù)連連看游戲規(guī)則,定義三種路徑集合;
23、關系確定模塊,用于確定三種路徑集合的從屬關系;
24、邏輯設計模塊,用于根據(jù)三種路徑集合的從屬關系設計計算三種路徑集合的邏輯單元一、邏輯單元二和邏輯單元三;
25、元素表示模塊,用于在連連看游戲開始后以坐標形式標記游戲界面顯示的圖案元素;
26、遞歸調(diào)用模塊,用于在確定要進行連接的兩個元素后,根據(jù)路徑集合的從屬關系調(diào)用邏輯單元一、邏輯單元二和邏輯單元三,計算連接路徑;
27、結(jié)果輸出模塊,用于輸出可行的連接路徑計算結(jié)果,實現(xiàn)所述兩個元素的連接消除,或者,輸出連接路徑不可行的計算結(jié)果。
28、可選的,所涉及規(guī)則定義模塊根據(jù)連連看游戲規(guī)則,定義最小子集、父集和最大集合三種路徑集合,其中,最小子集包括直線連接路徑,父集包括一拐角連接路徑,最大集合包括兩拐角連接路徑;
29、所涉及關系確定模塊基于直線連接路徑、一拐角連接路徑和兩拐角連接路徑三者之間的包含關系,確定最小子集從屬于父集,父集從屬于最大集合;
30、所涉及邏輯設計模塊針對最小子集的直線連接路徑,創(chuàng)建計算兩點之間是否可以進行直線連接的邏輯單元一;所涉及邏輯設計模塊針對父集的一拐角連接路徑,以邏輯單元一為基礎,創(chuàng)建計算兩點之間增設一個拐點后是否可以進行一拐角連接的邏輯單元二;所涉及邏輯設計模塊針對最大集合的兩拐角連接路徑,以邏輯單元一和邏輯單元二為基礎,創(chuàng)建計算兩點之間增設兩個拐點后是否可以進行兩拐角連接的邏輯單元三。
31、可選的,所涉及遞歸調(diào)用模塊具體包括:
32、坐標獲取單元,用于獲取元素a和元素b的x坐標和y坐標;
33、判斷調(diào)用單元,用于判斷元素a和元素b的x坐標或y坐標是否相等,若相等,則調(diào)用邏輯單元一,若不相等,則調(diào)用邏輯單元二或邏輯單元三;
34、邏輯單元一,用于計算元素a和元素b的連接直線上是否存在未消除元素,i)若不存在未消除元素,則計算完成,通過結(jié)果輸出模塊輸出元素a和元素b之間的直線連接路徑,ii)若存在未消除元素,則通過結(jié)果輸出模塊輸出結(jié)論:元素a和元素b之間不可以進行直線連接;
35、邏輯單元二,計算元素a和元素b的x軸與y軸之間的交點,所述交點位置對應空白元素時,將交點設為有效拐點m,并調(diào)用邏輯單元一,計算元素a與有效拐點m的連接直線上是否存在未消除元素,同時計算元素b與有效拐點m的連接直線上是否存在未消除元素,i)若均不存在未消除元素,則計算完成,通過結(jié)果輸出模塊輸出元素a與有效拐點m之間的直線連接路徑、有效拐點m與元素b之間的直線連接路徑,合并這兩個直線連接路徑即得到一拐角連接路徑,ii)若存在未消除元素,則通過結(jié)果輸出模塊輸出結(jié)論:元素a和/或元素b與有效拐點m之間不可以進行直線連接,即元素a和元素b之間不可以進行一拐角連接;
36、邏輯單元三,以元素a為起點,在元素a的x軸與y軸上向元素b的方向進行遍歷,將遍歷過程中的空白元素作為潛在拐點,隨后調(diào)用邏輯單元二,計算任一潛在拐點與元素b之間是否可以進行一拐角連接,i)若是,則計算完成,得出元素a與潛在拐點q之間的直線連接路徑、潛在拐點q與有效拐點m之間的直線連接路徑、有效拐點m與元素b之間的直線連接路徑,合并這三個直線連接路徑即得到兩拐角連接路徑,ii)若否,則得出結(jié)論:潛在拐點q與元素b之間不可以進行一拐角連接,即元素a和元素b之間不可以進行兩拐角連接。
37、進一步可選的,所涉及邏輯單元三以元素a為起點,在元素a的x軸與y軸上向元素b的方向進行遍歷時,首先調(diào)用邏輯單元一,計算遍歷過程中空白元素與元素a之間的連接直線上是否存在未消除元素,若不存在未消除元素,則將該空白元素作為潛在拐點,隨后調(diào)用邏輯單元二,計算潛在拐點與元素b之間是否可以進行一拐角連接。
38、可選的,在連連看游戲開始后,所涉及元素表示模塊以坐標形式標記游戲界面顯示的圖案元素,具體操作包括:
39、將游戲界面顯示的圖案元素放置在一個坐標系內(nèi),所述坐標系中包括未消除元素和空白元素;
40、以坐標(x,y)形式表示坐標系內(nèi)的所有元素,并在每個坐標點上標注其對應的元素內(nèi)容。
41、本發(fā)明的一種計算連連看游戲中連接路徑的方法及工具,與現(xiàn)有技術(shù)相比具有的有益效果是:
42、1、本發(fā)明以更為簡單的方式避免了多余的計算,能夠盡可能地降低計算的復雜度,提高程序的執(zhí)行效率,從而提升用戶的游戲體驗;
43、2、本發(fā)明借助集合之間的包含關系來簡化邏輯單元的計算過程,這一計算思路同樣適用于連連看游戲外其他的存在包含關系的路徑計算場景。