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