本發(fā)明涉及棋盤坐標對應技術(shù)領(lǐng)域,尤其涉及一種立體棋盤的坐標對應方法及裝置。
背景技術(shù):
傳統(tǒng)的圍棋成為全世界所喜愛的智力游戲,甚至發(fā)展為專項運動,有完整的職業(yè)比賽,但這都僅限于二維圍棋。
隨著科技的發(fā)展、技術(shù)的革新,越來越多的三維產(chǎn)物出現(xiàn)在人們的生活當中,3D打印、3D電影、虛擬現(xiàn)實等等。隨著時間的推移,三維交互會代替簡單的平面交互。因此,有必要突破傳統(tǒng)的圍棋、五子棋、跳棋,提供一項通用的三維空間棋,通過巧妙的棋盤設(shè)計,來實現(xiàn)空間圍棋、空間五子棋、空間跳棋等,并且能解決查看、下棋等難題,從人們熟知的棋藝領(lǐng)域出發(fā),在娛樂中鍛煉人們的三維能力。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對上述現(xiàn)有技術(shù)中棋盤為二維棋盤的問題,提供一種立體棋盤的坐標對應方法及裝置。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
構(gòu)造一種立體棋盤的坐標對應方法,包括:
對立體棋盤建立空間直角坐標系Oxyz,所述立體棋盤包括至少三個相互垂直的表面,三個所述表面均開設(shè)有多個棋格,將坐標原點O設(shè)置于三個所述表面的交點位置,并將三個所述表面分別設(shè)置于第一象限的xOy平面、xOz平面及yOz平面;
將三個所述表面的交點位置的棋格的坐標作為(0,0,0),相鄰兩個所述表面的交叉位置的棋格的坐標分別為(0,0,1)、(0,0,2)、(0,0,3)……(0,0,i)、(0,1,0)、(0,2,0)、(0,3,0)……(0,j,0)、(1,0,0)、(2,0,0)、(3,0,0)……(k,0,0);其中,i、j及k均為正整數(shù);
將所述xOy平面內(nèi)的棋格形成k*j的網(wǎng)格狀陣列,將所述xOz平面內(nèi)的棋格形成k*i的網(wǎng)格狀陣列,將所述yOz平面內(nèi)的棋格形成j*i的網(wǎng)格狀陣列。
在本發(fā)明所述的坐標對應方法中,還包括:
獲取所述立體棋盤的六個表面,六個所述表面均開設(shè)有多個棋格,并根據(jù)六個所述表面于所述空間直角坐標系中建立坐標對應關(guān)系。
在本發(fā)明所述的坐標對應方法中,所述獲取所述立體棋盤的六個表面,六個所述表面均開設(shè)有多個棋格,并根據(jù)六個所述表面于所述空間直角坐標系中建立坐標對應關(guān)系,包括:
將六個所述表面中除去位于第一象限的xOy平面、xOz平面及yOz平面的三個表面的三個表面分別設(shè)置于x=k平面、y=j平面及z=i平面;
將所述z=i平面內(nèi)的棋格形成k*j的網(wǎng)格狀陣列,將所述y=j平面內(nèi)的棋格形成k*i的網(wǎng)格狀陣列,將所述x=k平面內(nèi)的棋格形成j*i的網(wǎng)格狀陣列。
在本發(fā)明所述的坐標對應方法中,還包括:
將所述立體棋盤中處于8個頂點的棋格設(shè)置為三面棋格;
將所述立體棋盤中處于相鄰兩個所述表面的交叉位置的棋格設(shè)置為二面棋格;
將所述立體棋盤中除所述三面棋格及所述二面棋格的棋格設(shè)置為一面棋格。
在本發(fā)明所述的坐標對應方法中,所述三面棋格的坐標分別為(0,0,0)、(k,0,0)、(0,j,0)、(0,0,i)、(k,j,0)、(k,0,i)、(0,j,i)、(k,j,i)。
在本發(fā)明所述的坐標對應方法中,k=j=i。
在本發(fā)明所述的坐標對應方法中,還包括:
判斷棋格距離。
在本發(fā)明所述的坐標對應方法中,所述判斷棋格距離,包括:
獲取所述棋格的坐標;
計算任意兩個所述棋格的距離;
判斷所述距離所述為1,若為1,則執(zhí)行預設(shè)的機制。
另一方面,提供一種立體棋盤的坐標對應裝置,包括:
表面設(shè)置模塊,用于對立體棋盤建立空間直角坐標系Oxyz,所述立體棋盤包括至少三個相互垂直的表面,三個所述表面均開設(shè)有多個棋格,將坐標原點O設(shè)置于三個所述表面的交點位置,并將三個所述表面分別設(shè)置于第一象限的xOy平面、xOz平面及yOz平面;
位置設(shè)置模塊,用于將三個所述表面的交點位置的棋格的坐標作為(0,0,0),相鄰兩個所述表面的交叉位置的棋格的坐標分別為(0,0,1)、(0,0,2)、(0,0,3)……(0,0,i)、(0,1,0)、(0,2,0)、(0,3,0)……(0,j,0)、(1,0,0)、(2,0,0)、(3,0,0)……(k,0,0);其中,i、j及k均為正整數(shù);
陣列設(shè)置模塊,用于將所述xOy平面內(nèi)的棋格形成k*j的網(wǎng)格狀陣列,將所述xOz平面內(nèi)的棋格形成k*i的網(wǎng)格狀陣列,將所述yOz平面內(nèi)的棋格形成j*i的網(wǎng)格狀陣列。
在本發(fā)明所述的坐標對應裝置中,還包括:
棋盤對應模塊,用于獲取所述立體棋盤的六個表面,六個所述表面均開設(shè)有多個棋格,并根據(jù)六個所述表面于所述空間直角坐標系中建立坐標對應關(guān)系;
棋格屬性設(shè)置模塊,用于將所述立體棋盤中處于8個頂點的棋格設(shè)置為三面棋格;將所述立體棋盤中處于相鄰兩個所述表面的交叉位置的棋格設(shè)置為二面棋格;將所述立體棋盤中除所述三面棋格及所述二面棋格的棋格設(shè)置為一面棋格;
距離判斷模塊,用于判斷棋格距離。
上述公開的一種立體棋盤的坐標對應方法及裝置具有以下有益效果:通過棋盤建立直角坐標系執(zhí)行下棋機制從而實現(xiàn)在立體棋盤下棋,不僅方便了用戶查看棋盤,還鍛煉人們在娛樂中的三維能力。
附圖說明
圖1為本發(fā)明一實施例提供的一種立體棋盤的坐標對應方法的流程圖;
圖2為本發(fā)明一實施例提供的一種立體棋盤的坐標示意圖;
圖3為本發(fā)明一實施例提供的一種立體棋盤的結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供了一種立體棋盤10的坐標對應方法及裝置,其目的在于,通過棋盤建立直角坐標系執(zhí)行下棋機制從而實現(xiàn)在立體棋盤下棋,例如空間圍棋、空間五子棋、空間跳棋等,不僅方便了用戶查看棋盤,還鍛煉人們在娛樂中的三維能力。
參見圖1,圖1為本發(fā)明一實施例提供的一種立體棋盤10的坐標對應方法的流程圖,該立體棋盤10的坐標對應方法包括步驟S1-S3:
S1、對立體棋盤10建立空間直角坐標系Oxyz,參見圖2,圖2為本發(fā)明一實施例提供的一種立體棋盤10的坐標示意圖,所述立體棋盤10包括至少三個相互垂直的表面,三個所述表面均開設(shè)有多個棋格11,將坐標原點O設(shè)置于三個所述表面的交點位置,并將三個所述表面分別設(shè)置于第一象限的xOy平面、xOz平面及yOz平面;
S2、將三個所述表面的交點位置的棋格11的坐標作為(0,0,0),相鄰兩個所述表面的交叉位置的棋格11的坐標分別為(0,0,1)、(0,0,2)、(0,0,3)……(0,0,i)、(0,1,0)、(0,2,0)、(0,3,0)……(0,j,0)、(1,0,0)、(2,0,0)、(3,0,0)……(k,0,0);其中,i、j及k均為正整數(shù);優(yōu)選的,k=j=i。
S3、將所述xOy平面內(nèi)的棋格11形成k*j的網(wǎng)格狀陣列,將所述xOz平面內(nèi)的棋格11形成k*i的網(wǎng)格狀陣列,將所述yOz平面內(nèi)的棋格11形成j*i的網(wǎng)格狀陣列。
優(yōu)選的,該坐標對應方法還包括步驟S4:
S4、參見圖3,圖3為本發(fā)明一實施例提供的一種立體棋盤10的結(jié)構(gòu)示意圖,獲取所述立體棋盤10的六個表面,六個所述表面均開設(shè)有多個棋格11,并根據(jù)六個所述表面于所述空間直角坐標系中建立坐標對應關(guān)系。步驟S4包括子步驟S41-S42:
S41、將六個所述表面中除去位于第一象限的xOy平面、xOz平面及yOz平面的三個表面的三個表面分別設(shè)置于x=k平面、y=j平面及z=i平面;
S42、將所述z=i平面內(nèi)的棋格11形成k*j的網(wǎng)格狀陣列,將所述y=j平面內(nèi)的棋格11形成k*i的網(wǎng)格狀陣列,將所述x=k平面內(nèi)的棋格11形成j*i的網(wǎng)格狀陣列。
優(yōu)選的,該坐標對應方法還包括步驟S5:
S5、將所述立體棋盤10中處于8個頂點的棋格11設(shè)置為三面棋格113;將所述立體棋盤10中處于相鄰兩個所述表面的交叉位置的棋格11設(shè)置為二面棋格112;將所述立體棋盤10中除所述三面棋格113及所述二面棋格112的棋格11設(shè)置為一面棋格111。所述三面棋格11的坐標分別為(0,0,0)、(k,0,0)、(0,j,0)、(0,0,i)、(k,j,0)、(k,0,i)、(0,j,i)、(k,j,i)。
參見圖3,一般的,每個表面具有四個三面棋格113,每個三面棋格113均與相鄰的兩個表面的三面棋格113相連為一體,三面棋格113即在立體棋盤100中的三個表面中共用一個棋格11,如圖,所述三面棋格113包括一個底面及兩個側(cè)面以形成中空結(jié)構(gòu)且具有三個面的棋格11,即棋格11的凹槽通過三個面構(gòu)成。
每個表面中,多個所述二面棋格112于所述網(wǎng)格狀陣列中的最上一行、最下一行、最左一列及最右一列且除去三面棋格113的位置,多個所述二面棋格112均與相鄰的表面的二面棋格112相連為一體。二面棋格112即在立體棋盤100中的兩個表面中共用一個棋格11,如圖,所述二面棋格112包括一個底面及三個側(cè)面以形成中空結(jié)構(gòu)且具有四個面的棋格11,即棋格11的凹槽通過四個面構(gòu)成。
每個表面中,多個所述一面棋格111為除三面棋格113及二面棋格112之外的棋格11,所述一面棋格111包括一個底面及四個側(cè)面以形成中空結(jié)構(gòu)且具有五個面的棋格11,即棋格11的凹槽通過五個面構(gòu)成。
優(yōu)選的,該坐標對應方法還包括步驟S6:
S6、判斷棋格11距離。步驟S6包括子步驟S61-S63:
S61、獲取所述棋格11的坐標;
S62、計算任意兩個所述棋格11的距離;
S63、判斷所述距離所述為1,若為1,則執(zhí)行預設(shè)的機制。以立體圍棋為例,由于現(xiàn)有的圍棋均為二維圍棋,而圍棋中“吃子”是執(zhí)行游戲規(guī)則中較為重要的一環(huán)。因此,在立體圍棋中如何吃子,是需要攻克的難題?!俺宰印弊鳛閲逍g(shù)語,也可稱“提子”。在實戰(zhàn)對局中,一方將另一方的一個或多個棋子緊緊包圍,使其所有的氣數(shù)被全部堵住(即其所有緊緊相鄰的交叉點全部被占有),隨后將無氣的棋子從棋盤上拿掉,就叫“吃子”。在圍棋對局中,棋子在棋盤上是依賴“氣”來生存的,若想學會如何吃子就必須先了解“氣”。“氣”是圍棋基本術(shù)語之一,是指在棋盤上與棋子緊緊相鄰的空交叉點,沒有“氣”的棋子叫“死子”,也就是說,只有無“氣”的“死子”才可以被提,棋盤上任何一個棋子,只要它還有一口“氣”數(shù),那它就依然可以放置在棋盤上。此時,兩個棋子之間的距離便顯得尤為重要。尤其在于本發(fā)明提供的立體棋盤10,其建立與坐標對應的關(guān)系,便可計算棋子之間的距離,一般的,距離為1的兩個棋子之間會涉及到“氣”,由此借助空間直角坐標系,計算距離并判斷距離是否為1,其中,計算距離的方法為:假設(shè)第一棋子的坐標為(x1,y1,z1),第二棋子的坐標為(x2,y2,z2),距離距離d的判斷條件可以根據(jù)不同規(guī)則設(shè)置不同,如五子棋不僅需要計算距離是否為1,還要計算距離是否為5以及是否處于同一直線上。
另一方面,提供一種立體棋盤10的坐標對應裝置,該坐標對應裝置可以通過計算機程序?qū)崿F(xiàn),該坐標對應裝置包括:
表面設(shè)置模塊,用于對立體棋盤10建立空間直角坐標系Oxyz,所述立體棋盤10包括至少三個相互垂直的表面,三個所述表面均開設(shè)有多個棋格11,將坐標原點O設(shè)置于三個所述表面的交點位置,并將三個所述表面分別設(shè)置于第一象限的xOy平面、xOz平面及yOz平面;
位置設(shè)置模塊,用于將三個所述表面的交點位置的棋格11的坐標作為(0,0,0),相鄰兩個所述表面的交叉位置的棋格11的坐標分別為(0,0,1)、(0,0,2)、(0,0,3)……(0,0,i)、(0,1,0)、(0,2,0)、(0,3,0)……(0,j,0)、(1,0,0)、(2,0,0)、(3,0,0)……(k,0,0);其中,i、j及k均為正整數(shù);
陣列設(shè)置模塊,用于將所述xOy平面內(nèi)的棋格11形成k*j的網(wǎng)格狀陣列,將所述xOz平面內(nèi)的棋格11形成k*i的網(wǎng)格狀陣列,將所述yOz平面內(nèi)的棋格11形成j*i的網(wǎng)格狀陣列。
棋盤對應模塊,用于獲取所述立體棋盤10的六個表面,六個所述表面均開設(shè)有多個棋格11,并根據(jù)六個所述表面于所述空間直角坐標系中建立坐標對應關(guān)系。將六個所述表面中除去位于第一象限的xOy平面、xOz平面及yOz平面的三個表面的三個表面分別設(shè)置于x=k平面、y=j平面及z=i平面;將所述z=i平面內(nèi)的棋格11形成k*j的網(wǎng)格狀陣列,將所述y=j平面內(nèi)的棋格11形成k*i的網(wǎng)格狀陣列,將所述x=k平面內(nèi)的棋格11形成j*i的網(wǎng)格狀陣列。
棋格屬性設(shè)置模塊,用于將所述立體棋盤10中處于8個頂點的棋格11設(shè)置為三面棋格113;將所述立體棋盤10中處于相鄰兩個所述表面的交叉位置的棋格11設(shè)置為二面棋格112;將所述立體棋盤10中除所述三面棋格113及所述二面棋格112的棋格11設(shè)置為一面棋格111。所述三面棋格113的坐標分別為(0,0,0)、(k,0,0)、(0,j,0)、(0,0,i)、(k,j,0)、(k,0,i)、(0,j,i)、(k,j,i)。
距離判斷模塊,用于判斷棋格11距離。具體的,獲取所述棋格11的坐標;計算任意兩個所述棋格11的距離;判斷所述距離所述為1,若為1,則執(zhí)行預設(shè)的機制。
本文提供了實施例的各種操作。在一個實施例中,所述的一個或操作可以構(gòu)成一個或計算機可讀介質(zhì)上存儲的計算機可讀指令,其在被電子設(shè)備執(zhí)行時將使得計算設(shè)備執(zhí)行所述操作。描述一些或所有操作的順序不應當被解釋為暗示這些操作必需是順序相關(guān)的。本領(lǐng)域技術(shù)人員將理解具有本說明書的益處的可替代的排序。而且,應當理解,不是所有操作必需在本文所提供的每個實施例中存在。
而且,本文所使用的詞語“優(yōu)選的”意指用作實例、示例或例證。奉文描述為“優(yōu)選的”任意方面或設(shè)計不必被解釋為比其他方面或設(shè)計更有利。相反,詞語“優(yōu)選的”的使用旨在以具體方式提出概念。如本申請中所使用的術(shù)語“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或從上下文中清楚,“X使用A或B”意指自然包括排列的任意一個。即,如果X使用A;X使用B;或X使用A和B二者,則“X使用A或B”在前述任一示例中得到滿足。
而且,盡管已經(jīng)相對于一個或?qū)崿F(xiàn)方式示出并描述了本公開,但是本領(lǐng)域技術(shù)人員基于對本說明書和附圖的閱讀和理解將會想到等價變型和修改。本公開包括所有這樣的修改和變型,并且僅由所附權(quán)利要求的范圍限制。特別地關(guān)于由上述組件(例如元件等)執(zhí)行的各種功能,用于描述這樣的組件的術(shù)語旨在對應于執(zhí)行所述組件的指定功能(例如其在功能上是等價的)的任意組件(除非另外指示),即使在結(jié)構(gòu)上與執(zhí)行本文所示的本公開的示范性實現(xiàn)方式中的功能的公開結(jié)構(gòu)不等同。此外,盡管本公開的特定特征已經(jīng)相對于若干實現(xiàn)方式中的僅一個被公開,但是這種特征可以與如可以對給定或特定應用而言是期望和有利的其他實現(xiàn)方式的一個或其他特征組合。而且,就術(shù)語“包括”、“具有”、“含有”或其變形被用在具體實施方式或權(quán)利要求中而言,這樣的術(shù)語旨在以與術(shù)語“包含”相似的方式包括。
本發(fā)明實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以多個或多個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。上述的各裝置或系統(tǒng),可以執(zhí)行相應方法實施例中的存儲方法。
綜上所述,雖然本發(fā)明已以優(yōu)選實施例揭露如上,但上述優(yōu)選實施例并非用以限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與潤飾,因此本發(fā)明的保護范圍以權(quán)利要求界定的范圍為準。