Scratch做个不那么简单的拼图游戏(中)

书接上回,上一节我们完成了拼图游戏的布局,这一节我们来解释一下程序逻辑判断的部分。下面提供的示例与上一节的没有本质上的区别,只是增加了一个负责画正方形的对象,来为程序生成一个九宫格的边框。无他,惟好看尔!

拼图游戏示例2 提取码: jbh8

scratch_picture_puzzle_p8

程序的判断部分都包括在角色的点击动作之内,首先我们需要判断被点击的图片是否有空间移动。判断移动之前提过,需要根据自己的位置以及空白部分的位置来判断,所以首先我们来查找空白区域是第几格。查询变量从1开始累计,当列表项为零时,我们用“空白”变量来保存当前值。这样“空白”变量的值就是当前空白区域的序号。因为游戏中空白部分有且只有一个,所以这里我们不需要考虑多个0的情况。

scratch_picture_puzzle_p9

我们为每个克隆体定义了一个私有变量,来储存他们的位置号。现在就可以安排上了,利用“空白”变量的值减去被点击对象的“当前位置”,我们可以判断被点击的对象是否有地方可去。如果结果为有,那么移动对象之后,需要做一些数据上的整理,以确保新的位置信息得到及时的更新。因为对象位置被移动了,所以当前位置也发生了改变,注意更新私有变量“当前位置”的工作需要放到最后,因为在此之前,我们还需要用老的数据去更新实时顺序的列表。

scratch_picture_puzzle_p10

更新后的列表数据如上图,现在空白位置被移动到了第8格,而第4号图片呢,已经被移到了第九格的位置。我们最后会根据实时顺序列表的数据来判断胜负。

scratch_picture_puzzle_p11

最后就是一长串的判断,分别判断列表的第一项到第八项是否满足要求,当8项全中的时候,我们判定玩家获得了游戏最终的胜利,一个拼图游戏就这样完成了,来体验一下我们的新作品吧!

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

Scratch做个不那么简单的拼图游戏(下)

2023-7-27 8:33:09

综合资讯

Scratch做个不那么简单的拼图游戏(上)

2023-7-27 8:33:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索