minecraft吧 关注:2,537,431贴子:31,742,466

[17-04-09]【作品发布】TRPGo围棋带食子判断

只看楼主收藏回复







全尺寸的围棋,19*19,可以自动判断食子并清除,注意这不是ai!
不用解释什么是围棋了吧
这个其实是清明节的坑 看着挺简单的就利用假期做了一下 做了大概四个小时,加上debug用了一天
围棋的食子判断是一个有趣的算法 也被讨论很久了 包括怎么判断回路怎么判断气什么什么的。总之就很复杂
利用发呆的时间整理了一下算法,发现还是可以简化的
具体的信息看下面吧


IP属地:浙江1楼2017-04-09 14:24回复

    仿真棋盘19*19,单元横截面积只有4*4,实心的棋子是黑棋,空心的是白棋,左右两边有下棋提示,显示轮到哪一方下棋

    下面会具体介绍的食子判断部分,食子判断采用了无延时模块

    棋盘的按钮,按钮对应左下角的棋位,棋盘两边有两个指示灯,黑棋灯亮起时说明按下按钮可以下黑棋,以此类推。设计上不能悔棋,不能叠加棋

    操控台,包括有debug模式的开关,重新开局,开局后总是黑棋先下


    IP属地:浙江2楼2017-04-09 14:28
    回复
      展示两种比较常见的非常规食子判断
      下面这种是打结的情况,按照围棋的规则,如果白棋填上中间这个空位,中间的黑子就会被吃掉

      如下图在中间下白子

      下图黑子被吃掉

      当然黑子还可以再下回去吃掉【这是违反围棋规则的,但棋盘不负责放置玩家犯规,当然棋盘是不会出现误判的,即使犯规,依然按照围棋的规则判定食子
      再比如下面这种情况,多个圈,如果黑棋填上该空位的话,应先判断中间的三个白子被吃,所以这一片黑子活

      可以看到判断哪一方被吃字是有一个先后顺序的问题的


      IP属地:浙江3楼2017-04-09 14:30
      收起回复
        模块单元
        体积:4*4*24(横截面积*长度)
        显示屏也是从0开始做的,一开始选了4*4横截面来做,本来打算把胜负判定也做了的,后来发现横截面积留的后路太窄了,没法把线拉出来

        灰色:显示屏
        红色:清空
        橙色:吃子阀门
        绿色:黑白子阀门
        蓝色:黑白子食子判断
        紫色:空气判断

        上图为斋食子判断的模块,用了无延时锁存器,其实相当于双向无延时中继器的作用,负责把信号向四个方向传递一格
        食子判断模块是黑子和白子共用的,由蓝色阀门控制判断哪一方


        IP属地:浙江4楼2017-04-09 14:33
        回复
          膜拜大佬


          IP属地:德国来自Android客户端5楼2017-04-09 14:36
          回复
            萌新瑟瑟发抖


            IP属地:湖北6楼2017-04-09 14:37
            回复
              操作手册:
              控制台 三个连起来的按钮是模式选择,后面连的是单选器
              对弈模式:就是黑子白子一人一棋,每下一棋,都会判断一次食子,食子判断需要时间,加上整个电路跨域比较大,所以在对弈模式下下完一颗棋子后请等待7秒左右方进行下一步操作
              黑棋debug模式:只下黑棋,不判断食子。可以快速下棋
              白棋debug模式:只下白棋,不判断食子。可以快速下棋
              右边红色的按钮是重新开局,需要约5秒,也是因为电路跨域比较大,所以开局后请尽量跑到棋盘中间使整个电路充分加载

              棋盘上有与棋位等数量的按钮,每颗按钮对应其左下方的棋位,按下按钮后下的事什么颜色的其取决于指示灯提示现在轮到哪一方下棋
              如果在已有棋子的棋位下棋不会有任何反应

              黑棋下棋指示灯(亮起)

              白棋下棋指示灯(熄灭)

              存档会在回复放出
              电路debug很短,存在bug的可能性很大,欢迎大家在本帖指出,我会尽快修理
              还是想再次提醒一下很重要的一点:非debug模式下不要下子过快!否则食子判断可能会出故障


              IP属地:浙江7楼2017-04-09 15:09
              回复
                萌新瑟瑟发抖


                来自Android客户端8楼2017-04-09 16:34
                回复
                  3段瑟瑟发抖


                  IP属地:湖北来自Android客户端10楼2017-04-09 20:28
                  回复
                    瑟瑟发抖,拜倒在dalao裙下


                    IP属地:广东来自Android客户端11楼2017-04-09 20:37
                    回复
                      大神你好


                      来自iPhone客户端12楼2017-04-09 20:56
                      回复
                        我就想誰會做這個呢, 數"目數"功能應該不難做吧?
                        特技: 阿法狗AI


                        14楼2017-04-09 21:15
                        收起回复
                          卧槽这么强


                          IP属地:美国来自Android客户端15楼2017-04-09 22:35
                          回复