空間連子棋的軟件實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種空間連子棋的軟件實現(xiàn)方法,包括如下步驟:a)構(gòu)造N*N*N大小的三維立體空間作為棋盤,以縱橫豎軸的交叉點作為落子點,N為自然數(shù);b)采用不同顏色的立體圓珠作為兩方棋子;c)每一次落子后檢驗該方相連的棋子數(shù)是否達到預(yù)設(shè)目標(biāo)數(shù);所述步驟a)還包括設(shè)置棋盤的極點和星位,并顯示落子點與極點之間,以及落子點與星位之間的連線;所述落子點選擇具有一定透明度的材質(zhì)進行填充,當(dāng)鼠標(biāo)懸浮在某個落子點上時,落子點更改顯示顏色,鼠標(biāo)移出,則恢復(fù)原有落子點樣式。本發(fā)明提供的空間連子棋的軟件實現(xiàn)方法,操作簡單,易于上手,能夠方便玩家全方位、多視角的進行棋盤格局的觀察。
【專利說明】
空間連子棋的軟件實現(xiàn)方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種連子棋的軟件實現(xiàn)方法,尤其涉及一種空間連子棋的軟件實現(xiàn)方法。
【背景技術(shù)】
[0002]目前已有的連子棋都是傳統(tǒng)的平面五子棋,但隨著科技的發(fā)展,越來越多的三維技術(shù)涌入人們的生活,在娛樂方面有VR,在生活方面有了 3D家居等等。游戲玩家挑剔的味覺已經(jīng)不能讓連子棋局限于2D平面,為了適應(yīng)生活,傳統(tǒng)的棋藝也可以朝著三維方向改變,可雙方對戰(zhàn),從而將傳統(tǒng)五子棋升華。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是提供一種空間連子棋的軟件實現(xiàn)方法,操作簡單,易于上手,方便玩家全方位多視角的進行棋盤格局的觀察。
[0004]本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提供一種空間連子棋的軟件實現(xiàn)方法,包括如下步驟:a)構(gòu)造N*N*N大小的三維立體空間作為棋盤,以縱橫豎軸的交叉點作為落子點,N為自然數(shù);b)采用不同顏色的立體圓珠作為兩方棋子;c)觸摸或者點擊落子點進行棋盤落子操作,每一次落子后檢驗該方相連的棋子數(shù)是否達到預(yù)設(shè)目標(biāo)數(shù)。
[0005]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述步驟a)還包括設(shè)置棋盤的極點和星位,并顯示落子點與極點之間,以及落子點與星位之間的連線。
[0006]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述步驟a)將棋盤的8個頂點設(shè)置為極點,并將棋盤距離最外極點2個位置的點設(shè)為星位。
[0007]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述落子點選擇具有一定透明度的材質(zhì)進行填充,當(dāng)鼠標(biāo)懸浮在某個落子點上時,落子點更改顯示顏色,鼠標(biāo)移出,則恢復(fù)原有落子點樣式,N的取值為5、7、9、11或13。
[0008]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述步驟b)采用黑白兩種顏色的立體圓珠作為兩方棋子,所述步驟c)中上一個落地棋子采用棋子外圍添加紅色外發(fā)光的形式凸顯。
[0009]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述步驟c)設(shè)定距離視角最近的3個面上的落子點為可以下棋的點,并可通過旋轉(zhuǎn)或者棋盤縮放來獲取對面的可供下棋的落子點;如果落子點已有棋子,則本次落子操作不成立。
[0010]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述步驟c)中檢驗相連的棋子數(shù)的過程如下:獲取該棋子的位置信息以及顏色信息,將所有相互關(guān)聯(lián)的棋子合并成一個棋子堆,若上下左右前后、左前方、右前方、左后方、右后方、左上方、右上方、左下方、右下方、上前方、上后方、下前方、下后方無一該棋子顏色的棋子,則另起一個棋子堆,否則進行棋子堆的合并,然后檢驗該方相連的棋子數(shù)是否達到預(yù)設(shè)目標(biāo)數(shù)。
[0011]上述的空間連子棋的軟件實現(xiàn)方法,其中,所述步驟c)還包括用代表棋子顏色的線條將所有相互關(guān)聯(lián)的棋子連接起來,當(dāng)收到用戶查看線條的請求后,通過遍歷所有的棋子堆,獲取所有需要顯示線條的位置信息,并使用LineRender組件進行線條的渲染,渲染引擎渲染畫面到屏幕上。
[0012]上述的空間連子棋的軟件實現(xiàn)方法,其中,還包括:通過鼠標(biāo)右鍵滑動來控制棋盤上下左右旋轉(zhuǎn),利用鍵盤數(shù)字、字母或方向按鍵來控制棋盤前后左右上下移動,設(shè)置鼠標(biāo)中鍵來控制棋盤縮放,以及利用鍵盤功能鍵來恢復(fù)棋盤為45度視角狀態(tài)。
[0013]上述的空間連子棋的軟件實現(xiàn)方法,其中,還包括:采用通用UI交互工具來實現(xiàn)棋盤的分割與恢復(fù),并在分割完畢后采用透明面片對棋盤進行填充。
[0014]本發(fā)明對比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明提供的空間連子棋的軟件實現(xiàn)方法,操作簡單,易于上手,能夠方便玩家全方位、多視角的進行棋盤格局的觀察。
【附圖說明】
[0015]圖1為本發(fā)明空間連子棋的軟件實現(xiàn)流程示意圖;
[0016]圖2為本發(fā)明空間連子棋的空間布局示意圖;
[0017]圖3為本發(fā)明空間連子棋的棋盤極點設(shè)置分布示意圖;
[0018]圖4為本發(fā)明空間連子棋的棋盤星位設(shè)置分布示意圖。
【具體實施方式】
[0019]下面結(jié)合附圖和實施例對本發(fā)明作進一步的描述。
[0020]圖1為本發(fā)明空間連子棋的軟件實現(xiàn)流程示意圖。
[0021]請參見圖1,本發(fā)明提供的空間連子棋的軟件實現(xiàn)方法,包括如下步驟:
[0022]步驟SI:構(gòu)造N*N*N大小的三維立體空間作為棋盤,以縱橫豎軸的交叉點作為落子點,N為自然數(shù);
[0023]步驟S2:采用不同顏色的立體圓珠作為兩方棋子;
[0024]步驟S3:觸摸或者點擊落子點進行棋盤落子操作,每一次落子后檢驗該方相連的棋子數(shù)是否達到預(yù)設(shè)目標(biāo)數(shù)。
[0025]本發(fā)明操作簡單,易于上手,在原有2D連子棋單個平面八點可下的基礎(chǔ)上增加到橫豎軸三切面十八點可下,由面及體,大大豐富了連子棋的靈活度。本發(fā)明特有的空間連子棋展示系統(tǒng)不僅支持棋盤的旋轉(zhuǎn)移動縮放分割,方便玩家進行全方位多視角的進行棋盤格局的觀察;還支持棋子的隱藏、只看某一方棋子、棋子之間進行連線等操作,方便棋手迅速找到連子數(shù)量最多的棋子堆以及對自己最有利的落子點;同時還可以查看某一個棋子的三面圖,方便棋手迅速找到與該棋子相關(guān)聯(lián)的三個面上的棋子信息。本發(fā)明可以適用與各種平臺,包括?(:^11(^0丨(1、丨05、'^等。
[0026]本發(fā)明提供的空間連子棋,主要功能如下:
[0027]1.空間連子棋,是在縱橫豎軸構(gòu)成的點上下棋,如圖2所示;縱橫豎軸線默認(rèn)是部分隱藏的,只顯示落子點以極點連線跟星位連線。
[0028]2.落子點采用透明度約為30%的材質(zhì)填充。
[0029]3.玩家鼠標(biāo)懸浮在某個落子點上時,落子點更改材質(zhì)顏色為其他醒目顏色,鼠標(biāo)移出,則恢復(fù)原有落子點樣式。
[0030]4.距離玩家最近的η個單位的落子點更改材質(zhì)透明度為不透明。
[0031 ] 5.棋盤是Ν*Ν*Ν大小的立方體,N為自然數(shù),N可以選擇邊長5、7、9、11、13五種大小的棋盤,默認(rèn)大小為11*11*11。
[0032]6.棋盤的8個極點(即頂點)采用太極八卦命名,分別為乾、巽、坎、艮、坤、震、離、兌,中心點為“太極”,寓意相生相克,相輔相成,如圖3所示。
[0033]7.棋盤距離最外極點2個位置的點為星位,按照對應(yīng)的極點命名,如圖4所示。
[0034]8.棋子用立體圓珠表現(xiàn),分為黑白兩方棋子。
[0035]9.上一個落地棋子采用棋子外圍添加紅色外發(fā)光的形式凸顯。
[0036]1.棋盤可以旋轉(zhuǎn)移動縮放翻轉(zhuǎn)。
[0037]11.棋盤可以分割,分割完畢采用透明面片填充。
[0038]12.可以查看單個棋子的三面圖。
[0039]13.可以只顯示單個顏色的棋子。
[0040]14.可以只顯示棋子,隱藏所有的落子點以及棋盤連線。
[0041]15.可以顯示棋子之間的連線,用跟棋子相同顏色的線條連接。
[0042]本發(fā)明提供的空間連子棋,主要玩法及實現(xiàn)控制如下:
[0043]—、用戶可以旋轉(zhuǎn)移動縮放棋盤以及恢復(fù):
[0044]1.用戶可以通過鼠標(biāo)右鍵滑動來控制棋盤上下左右旋轉(zhuǎn),鍵盤WSADQE來控制棋盤前后左右上下移動,鼠標(biāo)中鍵來控制棋盤縮放,鍵盤Fl來恢復(fù)棋盤為45度視角狀態(tài);
[0045]2.系統(tǒng)監(jiān)聽鼠標(biāo)右鍵滑動操作,計算滑動的方向以及滑動距離,控制棋盤旋轉(zhuǎn)的方向以及棋盤旋轉(zhuǎn)的快慢;
[0046]系統(tǒng)監(jiān)聽鍵盤按鍵操作,計算棋盤移動方向以及移動距離;
[0047]系統(tǒng)監(jiān)聽鼠標(biāo)中鍵的滾動,計算攝像機拉近或者是拉遠以及拉動的速度;
[0048]系統(tǒng)監(jiān)聽鍵盤按鍵操作,判斷是否需要恢復(fù)視角狀態(tài),并且獲得初始棋盤視角信息;
[0049]3.系統(tǒng)根據(jù)計算,使用渲染引擎渲染畫面到屏幕上。
[0050]二、用戶可以分割恢復(fù)棋盤:
[0051]1.用戶可以采用通用UI交互工具一一按鈕來實現(xiàn)棋盤的分割與恢復(fù)。用戶可以通過界面上的“X面分割”,“Y面分割”,“Ζ面分割”,“恢復(fù)”四個按鈕來實現(xiàn)棋盤的部分分割、完全分割以及恢復(fù)。舉例說明:用戶點擊“X面分割”按鈕;
[0052]2.系統(tǒng)監(jiān)聽按鈕點擊事件,使棋盤處于X軸可分割狀態(tài);
[0053]3.用戶鼠標(biāo)移動到棋盤的任何一面,并左鍵選中;
[0054]若此時鼠標(biāo)點擊“X面分割”按鈕,則棋盤進入完全分割狀態(tài),此時棋盤將不再響應(yīng)鼠標(biāo)的點擊事件,跳過步驟4;
[0055]若此時鼠標(biāo)點擊“Y面分割”按鈕,則棋盤進入Y軸可分割狀態(tài),需重復(fù)步驟3;
[0056]若此時鼠標(biāo)點擊“Ζ面分割”按鈕,則棋盤進入Z軸可分割狀態(tài),需重負(fù)步驟3;
[0057]若此時鼠標(biāo)點擊“恢復(fù)”按鈕,系統(tǒng)獲取未分割時棋盤信息,跳過步驟4;
[0058]4.系統(tǒng)監(jiān)聽鼠標(biāo)的點擊,計算鼠標(biāo)選中的X軸切面,用Quad透明面片填充,調(diào)用切面分離接口;
[0059]5.使用渲染引擎渲染畫面到屏幕上。
[0060]三、用戶可以隱藏顯示棋子:
[0061]1.用戶可以采用通用UI交互工具一一按鈕來實現(xiàn)棋子的顯示與隱藏。用戶可以通過界面上的“只看白棋”,“只看黑棋”,“只顯示棋子”三個按鈕來實現(xiàn)棋子的顯示與隱藏。舉例說明:用戶點擊“只看白棋”按鈕;
[0062]2.系統(tǒng)監(jiān)聽按鈕點擊事件,系統(tǒng)計算隱藏黑棋之后的棋子信息;
[0063]若此時鼠標(biāo)點擊“只看黑棋”,則系統(tǒng)計算隱藏白棋之后的棋子信息;
[0064]若此時鼠標(biāo)點擊“只顯示棋子”,則系統(tǒng)計算隱藏空白落子點之后的棋子信息;
[0065]3.使用渲染引擎渲染畫面到屏幕上。
[0066]四、用戶可以查看棋子之間的連線:
[0067]1.系統(tǒng)可以將有關(guān)聯(lián)的棋子之間合并成一個棋子堆,并用代表棋子顏色的線條連接起來。用戶可以采用通用UI交互工具一一按鈕來查看棋子之間的連線。用戶可以通過界面上的“查看線條”按鈕來實現(xiàn)棋子之間的連線的顯示與隱藏。用戶點擊“查看線條”按鈕;
[0068]2.系統(tǒng)監(jiān)聽按鈕點擊事件,系統(tǒng)通過遍歷所有的棋子堆,獲取所有需要顯示線條的位置信息;若不是第一次點擊該按鈕,系統(tǒng)計算所有恢復(fù)數(shù)據(jù);
[0069]3.使用LineRender組件進行線條的渲染,渲染引擎渲染畫面到屏幕上。
[0070]五、用戶可以顯示隱藏三面圖:
[0071]1.三面圖是一個點的X軸切面、Y軸切面以及Z軸切面的集合。用戶可以鼠標(biāo)右鍵點擊棋子來實現(xiàn)三面圖的顯示,也可以通過鍵盤ESC按鍵來退出三面圖。舉例說明:用戶鼠標(biāo)右鍵點擊棋子;
[0072]2.系統(tǒng)監(jiān)聽鼠標(biāo)右擊事件,計算鼠標(biāo)點擊的棋子的位置信息,獲取不在三面圖上的落子點的位置信息,使用Quad透明面片填充三面圖;若用戶按下ESC鍵,系統(tǒng)監(jiān)聽鍵盤按鍵事件,系統(tǒng)計算所有恢復(fù)數(shù)據(jù);
[0073]3.使用渲染引擎渲染畫面到屏幕上。
[0074]六、用戶可以通過旋轉(zhuǎn)縮放等操作來獲取可下棋的點:
[0075]1.為了減低玩家誤操作,棋盤中所有的落子點并非所有都是可以可下棋的點,系統(tǒng)設(shè)定只有距離視角最近的3個面上的落子點才是可以下棋的點,另外用戶可以通過旋轉(zhuǎn)來獲取對面的可下棋的落子點,也可通過棋盤縮放來達到非三面圖以及非棋盤切割的情況下在棋盤內(nèi)下棋的作用。舉例說明:玩家執(zhí)行旋轉(zhuǎn)操作;
[0076]2.系統(tǒng)計算旋轉(zhuǎn)后所面向玩家的XYZ軸的信息,計算可以下棋的落子點信息;
[0077]3.使用渲染引擎渲染畫面到屏幕上。
[0078]七、用戶落子操作如下:
[0079]1.用戶可以在可下棋的落子點落子。用戶可以使用鼠標(biāo)左鍵點擊落子點進行落子操作。用戶點擊落子點;
[0080]2.系統(tǒng)計算落子點的位置信息,調(diào)用接口進行數(shù)據(jù)的校驗,驗證該位置處是否已有棋子:若有,則該落子操作不成立;直接返回,若沒有則進行數(shù)據(jù)整合,并添加棋子預(yù)設(shè)作為該落子點的子節(jié)點,調(diào)用接口進行游戲是否結(jié)束的校驗,執(zhí)行輸贏判定邏輯;
[0081]3.使用渲染引擎渲染畫面到屏幕上。
[0082]八、系統(tǒng)輸贏判定邏輯實現(xiàn)如下:
[0083]1.輸贏判定發(fā)生在用戶落子操作之后。玩家落子之后,系統(tǒng)獲取該棋子的位置信息以及顏色信息,進行棋子堆的合并,若上下左右前后、左前方、右前方、左后方、右后方、左上方、右上方、左下方、右下方、上前方、上后方、下前方、下后方無一該棋子顏色的棋子,則另起一個棋子堆,否則進行棋子堆的合并,然后根據(jù)校驗該棋子堆是否滿足所需的連子數(shù)來判斷是否跳轉(zhuǎn)輸贏界面,若已經(jīng)滿足條件,則跳轉(zhuǎn)到勝利或者失敗界面;
[0084]2.使用渲染引擎渲染畫面到屏幕上。
[0085]雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的修改和完善,因此本發(fā)明的保護范圍當(dāng)以權(quán)利要求書所界定的為準(zhǔn)。
【主權(quán)項】
1.一種空間連子棋的軟件實現(xiàn)方法,其特征在于,包括如下步驟: a)構(gòu)造N*N*N大小的三維立體空間作為棋盤,以縱橫豎軸的交叉點作為落子點,N為自然數(shù); b)采用不同顏色的立體圓珠作為兩方棋子; c)觸摸或者點擊落子點進行棋盤落子操作,每一次落子后檢驗該方相連的棋子數(shù)是否達到預(yù)設(shè)目標(biāo)數(shù)。2.如權(quán)利要求1所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述步驟a)還包括設(shè)置棋盤的極點和星位,并顯示落子點與極點之間,以及落子點與星位之間的連線。3.如權(quán)利要求2所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述步驟a)將棋盤的8個頂點設(shè)置為極點,并將棋盤距離最外極點2個位置的點設(shè)為星位。4.如權(quán)利要求1所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述落子點選擇具有一定透明度的材質(zhì)進行填充,當(dāng)鼠標(biāo)懸浮在某個落子點上時,落子點更改顯示顏色,鼠標(biāo)移出,則恢復(fù)原有落子點樣式;N的取值為5、7、9、11或13。5.如權(quán)利要求4所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述步驟b)采用黑白兩種顏色的立體圓珠作為兩方棋子,所述步驟c)中上一個落地棋子采用棋子外圍添加紅色外發(fā)光的形式凸顯。6.如權(quán)利要求1所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述步驟c)設(shè)定距離視角最近的3個面上的落子點為可以下棋的點,并可通過旋轉(zhuǎn)或者棋盤縮放來獲取對面的可供下棋的落子點;如果落子點已有棋子,則本次落子操作不成立。7.如權(quán)利要求6所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述步驟c)中檢驗相連的棋子數(shù)的過程如下:獲取該棋子的位置信息以及顏色信息,將所有相互關(guān)聯(lián)的棋子合并成一個棋子堆,若上下左右前后、左前方、右前方、左后方、右后方、左上方、右上方、左下方、右下方、上前方、上后方、下前方、下后方無一該棋子顏色的棋子,則另起一個棋子堆,否則進行棋子堆的合并,然后檢驗該方相連的棋子數(shù)是否達到預(yù)設(shè)目標(biāo)數(shù)。8.如權(quán)利要求7所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述步驟c)還包括用代表棋子顏色的線條將所有相互關(guān)聯(lián)的棋子連接起來,當(dāng)收到用戶查看線條的請求后,通過遍歷所有的棋子堆,獲取所有需要顯示線條的位置信息,并使用LineRender組件進行線條的渲染,渲染引擎渲染畫面到屏幕上。9.如權(quán)利要求1所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述軟件實現(xiàn)方法還包括:通過鼠標(biāo)右鍵滑動來控制棋盤上下左右旋轉(zhuǎn),利用鍵盤數(shù)字、字母或方向按鍵來控制棋盤前后左右上下移動,設(shè)置鼠標(biāo)中鍵來控制棋盤縮放,以及利用鍵盤功能鍵來恢復(fù)棋盤為45度視角狀態(tài)。10.如權(quán)利要求1所述的空間連子棋的軟件實現(xiàn)方法,其特征在于,所述軟件實現(xiàn)方法還包括:采用通用UI交互工具來實現(xiàn)棋盤的分割與恢復(fù),并在分割完畢后采用透明面片對棋盤進行填充。
【文檔編號】G06F9/44GK105893037SQ201610194223
【公開日】2016年8月24日
【申請日】2016年3月31日
【發(fā)明人】張隆軍
【申請人】湖南快玩網(wǎng)絡(luò)科技有限公司