Scratch-一笔清桃花(创意编程)

博思AIPPT

目录

Scratch-一笔清桃花(创意编程)

一、课程导入
最近无意间看到了一个小游戏,暂且称它为一笔画吧。它的玩法:一笔下来把相同的元素全部连起来,就成功,如果一笔画不下来就重新开始。我就想了想scratch怎么做出来。好像也没有那么麻烦。1.克隆角色,排好队2.将其中改一个换成其他不一样的造型3.添加画笔,设定一个事件开始画,连接克隆角色4.连接过的克隆角色标记上,下次再连接就重新开始5.时刻判断克隆角色是不是全部连接这么缕下来,好像也挺简单的哈?怎么样有咩有信心做出来呢?注:这里没有考虑是不是交叉了(我想了一个办法就是将相邻的可以链接的都放在列表里,画笔每次画连接克隆角色的时候都去判断一下,你自己试试?)本作品不适合教学(适合有能力的学生自己探索完成),所以就不做ppt了我已经想到更适合的方法用来教学(下期再做吧,我想把初次的想法实现出来,做公众号不只是为了大家,也为了取悦自己嘿嘿嘿嘿)
二、作品效果

思考时间Scratch-一笔清桃花(创意编程)
三、逻辑分析

Scratch-一笔清桃花(创意编程)

四、具体操作
1.角色,背景,造型

Scratch-一笔清桃花(创意编程)

不会添加角色背景的请点击下面链接进行学习基础操作:角色和背景的添加2.克隆角色给角色花朵一个初始位置(自己觉得合适就行),然后克隆16次。

Scratch-一笔清桃花(创意编程)

(1)初始化位置(2)克隆编号初始化为1,仅适用于当前角色(3)克隆后克隆编号+1(4)每次克隆,克隆位置向右移动(克隆体x方向有间隙)(5)克隆完一行后,另起一行继续克隆,且y方向有间隙运行代码如上图,最初的排列就好了~我们将本体隐藏,克隆体显示

Scratch-一笔清桃花(创意编程)

完美哈哈哈哈哈我们继续吧~3.特殊克隆体从16个克隆体中选一个出来,当做特殊元素,不能碰到它,除它外的所有元素都需要相连。只需要用随机数即可 1-16中随机取一个。

Scratch-一笔清桃花(创意编程)

等获取这个特殊的值后,我们在启动克隆体的时候用它

Scratch-一笔清桃花(创意编程)

4.画笔自己绘制一个新角色(用画笔搞个红点就行)

Scratch-一笔清桃花(创意编程)

(1)为初始化,你可以随意设置,记得把笔抬起来(2)移到鼠标指针位置后再落笔中间有一个事件:等待按下鼠标,给系统一个提示,什么时候开始画现在就可以画线了~但是花朵怎么知道自己被连接了呢?不同角色之间可以通过广播来互通消息。当画笔碰到花朵的时候就发广播

Scratch-一笔清桃花(创意编程)

5.标记连接我们如何分辨一个克隆角色被连接还是没有呢,我为克隆体建了一个连接list,记录是否被连接。

Scratch-一笔清桃花(创意编程)

为了减少主程序的代码量,同时为了功能化代码,设置了自制积木:初始化。

Scratch-一笔清桃花(创意编程)

这个“是否被连接”的列表统一都赋值为-1,

Scratch-一笔清桃花(创意编程)

最终

Scratch-一笔清桃花(创意编程)

注:每个值含义不同,-1为初始化,1表示都连接,0表示重新开始(0是程序中间被赋值的)列表中最特殊的那一个(还记得吗,随机数那个)赋值为1

Scratch-一笔清桃花(创意编程)

我们现在开始去改变list里的值,看看到底谁被连接了吧(当然记得这里有个特殊的值已经被赋值为1了哦)

Scratch-一笔清桃花(创意编程)

(1)如果碰到的那个特殊的,就将这个值设置为0(后面判断重新开始)(2)如果这个克隆体的项就是1,表示已经连接过了,不需要再连接,所以肯定是重复走了,全部擦除重新开始吧(后面这里要加一个广播)(3)如果是最初值-1,表示还没来过这里,那么就将这个值设置为2(想一想为啥不设置为1呢?因为如果画笔不动的话,会一直持续的发送连接广播,会被认为是重复的了,)如果不等于-1就一直+1(画笔不动的情况),(4)大于1表示到过这里,统一设置为1
6.重新开始上面代码中,有重新开始,其实就是绿旗被点击(但是不需要重新设置 特殊随机值)所以我们将代码重新规划

Scratch-一笔清桃花(创意编程)

当画笔收到重新开始时候,也需要重新抬笔

Scratch-一笔清桃花(创意编程)

7.判断连接成功当列表里的所有值都是1后,就成功了。所以

Scratch-一笔清桃花(创意编程)

这个程序用的鼠标画的,所以会有很多隐形的限制没有做,比如会画到框外,比如可以来回拐弯,如果重新用 方向键“上下左右”来控制画笔,会容易得多。五、课程拓展
添加限制:1.画笔不能画在 可画范围外2.换一种方法完成此作品(用上下左右来控制而非鼠标)

Scratch-一笔清桃花(创意编程)
© 版权声明

相关文章