三维立体围棋的软件实现方法

文档序号:10498601阅读:552来源:国知局
三维立体围棋的软件实现方法
【专利摘要】本发明公开了一种三维立体围棋的软件实现方法,包括如下步骤: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日
【发明人】张隆军
【申请人】湖南快玩网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1