51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向前言上一节Scratch编程课程,我们讲了如何判断横向左右两个方向是否五子连珠。实际上,我们一共需要判断8个方向,包括:上、下、左、右、左上↖、

欢迎大家来到IT世界,在知识的湖畔探索吧!

前言

上一节Scratch编程课程,我们讲了如何判断横向左右两个方向是否五子连珠。

实际上,我们一共需要判断8个方向,包括:上、下、左、右、左上↖、右下↘、右上↗、左下↙

那么,在上一节课代码基础上,稍加修改就能实现其它6个方向的判断了。

可是,你会发现每个方向的代码相似度非常高,也就是说我们可以从中找出一种规律,从而大大简化代码。在介绍我的优化代码之前,我们先解决下落子点棋子重复落子的问题。

解决落子点棋子重复落子问题

大家看下图,增加一个判断,判断当前落子点的列表编号在列表中对应的值,如果值为0,说明该落子点可以落子;反之,不为0,说明该落子点已经有棋子了。

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

图1

如何将8个方向的代码,优化成一个自定义积木?

大家看下图,我把它们的计算格式进行了统一,然后用红色标出了不同的地方。不同的地方有两处,我们分别在自定义积木中设置参数a和b 。大家结合下面的代码慢慢理解。

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

图2

编写判断8个方向是否五子连珠的程序

图2是图3中重复执行程序的执行终止判断代码,我把他们拆开,方便大家理解。

①是判断是否找到相同颜色的棋子;②③④⑤判断是否超出棋盘范围。当没有相同棋子或者超出了棋盘范围,那么,重复执行就终止了,因为没必要再继续在这个方向上查找了。

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

图3

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

图4

虽然是8个方向,但是我们计算连珠总数的时候,是两个相对方向一起计算的,所以得两个方向结合起来计数。具体程序见下图。如果,总数超过4,那么发出“五子连珠”的广播。接收广播的角色,根据当前落子是“黑棋”还是“白棋”,经过判断后显示“黑棋胜”或者“白旗胜”。

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

图5

最后,我们两个两个地组合,对所有8个方向进行判断。

51.Scratch青少年编程实例教程:五子连珠游戏(九)判断8个方向

图6

演示效果

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

视频加载中…

本次Scratch编程课程就讲到这里,后续课程见!

本文所有图片、视频及文字内容,均为原创,转载时请保留版权信息。

查看更多Scratch编程教程,请点击下一行的了解更多,进入程序员猪猪的头条主页。

点击关注,每天接收更新哦。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/63282.html

(0)
上一篇 2024年 7月 12日 上午9:45
下一篇 2024年 7月 21日 下午12:55

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信