游戏五子连珠怎么玩


游戏五子连珠怎么玩

前言

你会发现每个方向的判断代码具有很高的相似性。我们可以寻找一种规律来大大简化代码。在介绍我的优化代码之前,我们先解决一个关于落子点棋子重复落子的问题。

解决落子点重复落子问题

请看下图,为了解决这一问题,我们可以增加一个判断机制。判断当前落子点的列表编号在列表中对应的值,如果值为0,说明该落子点可以落子;如果值不为0,则说明该落子点已经有棋子了。这是图一的解决方案。

如何实现将八个方向的判断代码优化为一个自定义积木呢?请看下图,我对它们的计算格式进行了统一处理,并用红色标出了不同的部分。这两处差异我们可以通过在自定义积木中设置参数a和b来弥补。请大家结合下面的代码进行理解。这是图二的优化思路。

接下来,我们编写一个判断八个方向是否五子连珠的程序。图二是关于图三中重复执行程序的终止判断代码,我把它拆开以便大家更好地理解。其中,①是判断是否找到相同颜色的棋子;②③④⑤则是判断是否超出棋盘范围。当没有相同棋子或者超出棋盘范围时,重复执行就会终止,因为没有必要再继续在这个方向上查找了。这是图三的核心程序。

虽然是八个方向,但我们在计算连珠总数时,是两个相对方向一起计算的,所以需要将两个方向的计数结合起来。具体程序见下图四。如果总数超过四,那么就发出“五子连珠”的广播。接收广播的角色会根据当前落子的颜色(黑棋或白棋)进行判断,然后显示相应的胜利信息。

我们将所有八个方向两两组合进行判断,就得到了图六的最终程序。

演示效果

教程到这里,我们的五子连珠游戏已经可以正常判断胜负了。我和糖果试玩了一局,感觉非常不错。

视频正在加载...

本次Scratch编程课程的内容就讲完了,后续的课程我们再见!本文所有的图片、视频和文字内容均为原创,转载时请保留版权信息。

想要了解更多Scratch编程教程,请点击下方的“了解更多”,进入程序员猪猪的头条主页。点击关注,每天都能接收到我们的最新更新。


游戏五子连珠怎么玩