第五人格吧 关注:868,407贴子:44,375,597

写个黑白棋教程贴造福一下不会下棋的吧友,这游戏的AI真不难被

取消只看楼主收藏回复

写个黑白棋教程贴造福一下不会下棋的吧友,这游戏的AI真不难
被我打的最惨的老头镇楼


IP属地:上海来自Android客户端1楼2023-03-25 12:15回复
    首先是关于先手还是后手问题,我选的是随机,实战当中其实也无所谓
    像五子棋这种存在禁手(指先手必赢的固定套路)的情况,我先不做讨论,这个帖子主要讲讲这个游戏的打法思路是怎么样的,以及一些玩多了之后就会知道的固定套路(不知道算不算棋谱)


    IP属地:上海来自Android客户端2楼2023-03-25 12:16
    回复
      为了防止被杠,我先叠一个甲,本人没有经过任何专业的黑白棋训练,也不熟悉专业的黑白棋术语
      本人大量黑白棋经验来源如下:
      1.小学的时候小灵通自带的黑白棋游戏,且只能跟AI下棋。那个小灵通的AI非常的有意思,只会计算当前步数可以吃的棋子最优解而不考虑后续发展,小时候的我发现这个规律之后,我就经常开始用这招骗AI下当前收益最大但是事后会全输的步数
      2.初中的时候在QQ游戏大厅和人对下
      由于黑白棋不像五子棋一样比较适合在现实中玩,所以上高中之后我一直在玩五子棋,现在的水平可能不如当年,但是思路是一致的


      IP属地:上海来自Android客户端4楼2023-03-25 12:19
      收起回复
        好了,废话不多说,接下来进入正题
        首先是关于黑白棋的规则,请自行阅读游戏内的规则说明
        简单来说就是,当你下一枚棋子在空位时,如果你和周围横竖斜的己方棋子中有无空位的对方棋子,那么对方棋子就会被吃掉。
        这么一听还完全不是人话,总之这玩意儿你下几遍你就明白他下棋的规则了
        接下来来讲思路


        IP属地:上海来自Android客户端5楼2023-03-25 12:22
        回复
          很好,现在已经知道规则了,那么问题来了,如何保证自己的棋子数量最多呢?
          答案很简单,尽可能把棋子下在一个不会被吃的地方。
          随便拿镇楼的这个老头图举例。
          已知棋子两头都可以被吃,那么下在中间的棋子实际上是最不稳定的,也就是说红圈部分属于是大家让来让去变化最多的地方。
          4个边角的黄点,一旦你将棋子下在那里,由于它三面靠墙,他根本没有办法被吃掉
          接着是四条边的白线区域,一旦你将棋子下在那里,它将不能被斜向或者是垂直吃掉,只能被水平方向吃掉


          IP属地:上海来自Android客户端6楼2023-03-25 12:29
          回复
            基于这个理论,所以下黑白棋的思路概括成三个字,那就是
            占角边。
            没有角边根据地的棋子,就像没有物质的爱情一样是一盘散沙,随便一吃就全吃完了


            IP属地:上海来自Android客户端7楼2023-03-25 12:30
            回复
              由这个思路逆推,角是无敌的,一旦你把棋子下在角上面,这个角就永远属于你了
              我们不难发现图上标出的这几个点,虽然它在边上,但是它是非常危险的位置
              因为它跟角相邻,也就是说当你把棋子下在这个位置,会出现两种非常危险的情况
              假设左侧边上没有任何棋子,而你把一个棋子下在了白色涂满处
              1.对方占黄1,然后你一条边的棋子团灭,因为你把棋子下在了这个地方,他就和角相邻了,角不会被吃掉,所以被吃的只有你的棋子,对方可以从上往下把你的棋子吃掉,你在这条边上占多少就会被吃多少
              2.对方占黄2,向上缓慢往上扩张,由于存在你的这枚棋子,也就是说当对方从下方逼近你的棋子,并和你的白色棋子相邻时,它可以通过你的棋子来得到黄1,直接占据两个角,哈哈,可以投降啦


              IP属地:上海来自Android客户端8楼2023-03-25 12:36
              回复
                由此我们可以得出,边缘最安全的是是白线部分,最好的下点是白线两端
                举例,假设现在你下了一枚棋子,在白色涂满的地方,那么一旦对方把棋子下在了红色的地方,你就可以通过吃掉对方的棋子来占据这个黄角
                这个时候有人可能就要问了,那对方如果不站在这里怎么办呢?
                玩了几把,你应该注意到黑白棋的规则是应下尽下,也就是说双方每一步都必须要吃掉对方的棋,如果当前的棋盘上面不存在能吃的地方,则会让则会跳过。当前棋盘上存在多处能吃的地方,则会让你选择,而只存在一个地方的时候,哪怕知道这个地方踩下去就是万劫不复,你也不得不下在这里。
                当棋子后期快要被铺满的时候,如果你能尽可能多占据优势点的话,那么相当于对方每下一个它能下的地方,它就会丢失掉一个角
                所以下黑白棋的思路不仅仅在于要尽可能多地占据边和角,还要尽可能让自己占据有利的位置,而对方相当于是无从落脚,只要落脚就会失去阵地


                IP属地:上海来自Android客户端11楼2023-03-25 12:41
                回复
                  由此可以再逆推一下,推出中间部分相对而言比较安全的点位,即红色部分
                  如果对方把棋子下在黄色部分的话,那么你可以通过吃掉这个棋子来获得占据对应边的机会
                  如果有大笨蛋把棋子下在白点的话,你甚至可以获得一个角
                  有没有吧友在和AI下棋的时候干出这种送角大笨蛋行为捏反正我和AI下的时候,AI有时会这么干


                  IP属地:上海来自Android客户端13楼2023-03-25 12:44
                  回复
                    所以开局谁先手其实并不是很重要,反正开局就是尽可能踩在红色地区,不要下在黄线处,一旦对方下在黄线处,就想方设法把他黄线的棋子吃掉,然后就可以占据边啦
                    占边的时候优先占11楼的白点处,如果占不了的话,退而求其次白线处也可以
                    多下一下就很熟练啦


                    IP属地:上海来自Android客户端14楼2023-03-25 12:47
                    回复
                      然后就是实战部分了
                      我下的时候随手截了一些我觉得比较有代表性的图,大家可以看着应用一下,反正思路就是这个思路


                      IP属地:上海来自Android客户端15楼2023-03-25 12:49
                      回复
                        嗯,我不太会黑白棋的专业术语,我不知道这个点是不是有专门的讲究
                        为了后续讲着方便,那么我暂时把11楼的白点处称为4号点,而8楼说的比较危险的地方称为5号点
                        虽然被我占了两个角,对方已经死透了,但是这并不重要
                        请看右下角,我占据了4号点,当下到后面,对方并没有什么地方可以下的时候,他就迫不得已只能下5号点,于是我又得到了一个角


                        IP属地:上海来自Android客户端16楼2023-03-25 12:53
                        回复
                          哇靠,突然想起来忘了讲一种超好用的占角方法。等等让我重新编辑一下


                          IP属地:上海来自Android客户端17楼2023-03-25 12:54
                          回复
                            请注意看这条对角线
                            其中黄色部分是你可以任意下的地方,但是4个红点是你千万不要下,并且一定要让对方下的地方
                            因为一旦对方下在4个红点处,那么也就意味着只要中间黄线上有任意一个你的棋子,你就可以直接吃掉对面,从而占角
                            那这个时候可能就有人要问了啊,如果这一条线上都是我的棋子,那我不就安全了吗?
                            不,即使这条线上目前都是你的棋子,由于中间区域本身就是非常动荡的地方,对方只要在中间区随便下几个子,污染吃掉你这条线上的一个棋子,那么对方马上就能获得一个角


                            IP属地:上海来自Android客户端19楼2023-03-25 12:57
                            回复
                              ok接下来继续讲实战
                              额,我还是给他取个名字吧,就是上一楼说的对角线千万不要下的地方,暂且叫他2号点
                              这两张图就是前面的对角线占角法,一旦对面下在2号点,直接获取角



                              IP属地:上海来自Android客户端21楼2023-03-25 13:02
                              回复