少儿创意编程scratch初级游戏--翻翻乐

网友投稿 2019-07-28 14:38

话不多说,点击蓝字关注吧~

https://cdn.china-scratch.com/timg/190730/143Q363X-0.jpg

可爱的小朋友们,今天我们来编一个“翻翻乐”小游戏吧。

游戏介绍:翻翻乐是一款考验记忆力的小游戏哦!游戏中玩家只要找出两张相同图片就能将其消除,消除所有图片就算胜利哦。

https://cdn.china-scratch.com/timg/190730/143Q4F92-1.jpg

翻翻乐

效果图

点击边框调出视频工具条

玩家通过操控锤子击打洞里冒出来的地鼠来得分。

变量

在这个游戏中,我定义了4个变量:

(1)已翻卡牌编号:这个变量表示第一次翻起来的卡牌编号,它是隐藏变量。

(2)第几次翻牌:这个变量表示第1次还是第2次翻卡牌,它是隐藏变量。

(3)猜对次数:这个变量表示猜对了几次。如果猜对4次,表示这一局游戏结束,它是隐藏变量。

(4)行数:这个变量用于创建列表,它是隐藏变量。

还定义了两个列表:

临时列表:这个列表用于生成“卡牌1”到“卡牌8”的顺序列表。

卡牌列表:这个列表用于将卡牌顺序随机打乱,这样在每一局游戏中,卡牌的排列顺序都是不一样的。

背景

https://cdn.china-scratch.com/timg/190730/143Q4O50-2.jpg

图1背景图

选择黑色幕布作为舞台背景

“背景”脚本

https://cdn.china-scratch.com/timg/190730/143Q41G9-3.jpg

图2背景脚本

背景只有一段脚本,当接收到“开始游戏”时,删除临时列表的全部项目。然后将行数设置为1。因为有8张卡牌,所有重复执行8次,将“卡牌”和“行数”连在一起,形成一个字符串,加入临时列表中,然后把“行数”增加1。通过循环,我们将字符串“卡牌1”到“卡牌8”顺序插入到“临时列表”中。

接下来删除“卡牌列表”中全部项目,然后进入循环,直到“临时列表”的项目数为0才会跳出循环。在循环体中,首先从1到“临时列表“的项目数之间取一个随机数,并将其赋值给变量“行数”。然后将“临时列表”的第“行数”项的值加入到“卡牌列表”中,并且将“临时列表”的“行数”项删除。通过这3条语句,可以从“临时列表”中随机选择一条记录,将其插入到“卡牌列表”中,然后从“临时列表”中删除这条记录。经过8次循环,“临时列表”中的数据都迁移到了“卡牌列表”中,只是顺序被打乱了。

之后,广播“排列卡牌”消息,然后初始化,将变量“已翻卡牌编号”设置为空,将变量“第几次翻牌”设置为1,将变量“猜对次数”设置为0

角色

https://cdn.china-scratch.com/timg/190730/143Q45D9-4.jpghttps://cdn.china-scratch.com/timg/190730/143Q44159-5.jpg

图3角色图

这个游戏一共9个角色,分别是8张卡牌和开始按钮

第1个角色:开始

https://cdn.china-scratch.com/timg/190730/143Q43157-6.jpg

图4开始图

这是开始按钮,也是用来提示没有选中的提示框。造型如图4,前2个是按钮,最后一个是提示信息。

为这2个角色增加了2个声音,分别表示没选中所对应的声音“没选中”和全部选中后的声音“成功”。声音是从本地上传的

“开始”脚本展示

https://cdn.china-scratch.com/timg/190730/143Q5I36-7.jpghttps://cdn.china-scratch.com/timg/190730/143Q53317-8.jpg

图5开始脚本

第一步:当绿旗被点击时,将造型切换为“开始”造型,显示角色。

第二步:当点击角色时,如果造型是“开始”或“再来一局”按钮,广播“开始游戏”,隐藏角色。

第三步:当接收到“开始游戏”时,在条件“猜对次数=4”成立前一直等待。(因为有8张卡牌,两两匹配,最多会匹配成功4次)

当条件成立时,播放“成功”声音,之后将猜对次数重设为0,造型切换为“再来一局”按钮,然后显示角色。

第四步:当接收到“错误”消息时,播放“没选中”的声音,并且将造型切换为“没选中”,显示角色1s后,隐藏信息。

如何确定卡牌的放置位置

卡牌1和卡牌2是1对,卡牌3和卡牌4是1对,卡牌5和卡牌6是1对,卡牌7和卡牌8是1对。如果是顺序排放,卡牌1到卡牌4在第1行的1至4列,卡牌5到卡牌8在第2行的1至4列。

为了让游戏好玩,我们会让卡牌随机排列。例如,让卡牌1到了第2行的第4列,而卡牌2到了第1行的第4列;卡牌3到了第2行的第2列,而卡牌4到了第1行的第3列;卡牌5到了第1行的第2列,卡牌6到了第2行的第1列;卡牌7到了第1行的第1列,卡牌8到了第2行的第3列。

第1行卡牌的y坐标是70,第2行卡牌的y坐标是-70.

第1列卡牌的x坐标是-160(-260+100),第2列卡牌的x坐标是-60(-260+200),第3列卡牌的x坐标是40(-260+300),第4列卡牌的x坐标是140(-260+400)

第2个角色:卡牌1

https://cdn.china-scratch.com/timg/190730/143Q53P0-9.jpg

图6卡牌1

卡牌1脚本展示

https://cdn.china-scratch.com/timg/190730/143Q51T3-10.jpg

第一步:当接收到“排列卡牌”消息,首先显示角色,将造型切换为“反面”,将变量“计数器”设置为1。然后循环8次,如果变量“计数器”最初为1,那么条件“卡牌1=卡牌列表的第计数器项”就是比较“卡牌列表”的第1项内容是否等于字符串“卡牌1”。如果不满足条件,也就是“卡牌列表”的第1项内容不等于字符串“卡牌1”,就会将“计数器”加1。然后进入下一轮循环,直到找到“卡牌列表”中内容等于字符串“卡牌1”的那一项。这一项的序位数,就是变量“计数器”的值。然后设置该角色的位置。通过判断变量“计数器”的值,来获取信息。如果“计数器”的值<5,表示在第一行,否则在第二行。设置好该角色位置后,会停止当前脚本。

https://cdn.china-scratch.com/timg/190730/143Q561Y-11.jpg

第二步:当角色被点击时,比较卡牌。如果变量“第几次翻牌”等于2并且变量“已翻卡牌编号”等于字符串“卡牌1”,表示是第2次翻牌且翻的是同一张牌,那么就没有必要进行比较,所以停止脚本。

否则,将卡牌造型切换为“正面”,等待05s,再将造型切换为“反面”造型。目的是让玩家能够看到卡牌的内容。

如果满足条件“第几次翻牌=1”,将“已翻卡牌编号”设置为字符串“卡牌1”,将变量“第几次翻牌”设置为2。

否则,要判断“已翻卡牌编号=卡牌2”,如果成立,表示匹配成功,广播“第1对正确”消息,并将“猜对次数”加1;如果不成立,表示没有匹配成功,广播“错误”,并将变量”第几次翻牌“重新设置为1。

https://cdn.china-scratch.com/timg/190730/143QC018-12.jpg

第三步:当接收到”第1对正确“消息后,播放声音"ya",并将角色切换为翻卡状态0.5s,表示匹配成功,然后隐藏角色。

图7卡牌1脚本

第3个角色:卡牌2

https://cdn.china-scratch.com/timg/190730/143QBJ8-13.jpg

图8卡牌2

卡牌2脚本展示

卡牌2和卡牌1的脚本基本一致,这里把差异地方介绍一下。

https://cdn.china-scratch.com/timg/190730/143Q63119-14.jpg

设置卡牌2的摆放位置,这里比较的是字符串“卡牌2”。

https://cdn.china-scratch.com/timg/190730/143Q64L8-15.jpg

点击角色,比较卡牌。注意,第1次翻牌,要将变量“已翻卡牌编号”设置为字符串“卡牌2”。做卡牌对比时,这里要将变量“已翻卡牌编号”和字符串“卡牌1”比较。

https://cdn.china-scratch.com/timg/190730/143QI0b-16.jpg

图9卡牌2脚本

第4个角色:卡牌3

卡牌3到卡牌8也基本和卡牌1与卡牌2的脚本一致,只是在摆放的位置、比对卡牌内容方面有所不同,这里不再赘述,只是把脚本列出来。

https://cdn.china-scratch.com/timg/190730/143QJU2-17.jpg

图10卡牌3

卡牌3脚本展示

https://cdn.china-scratch.com/timg/190730/143QM034-18.jpghttps://cdn.china-scratch.com/timg/190730/143QHX1-19.jpghttps://cdn.china-scratch.com/timg/190730/143QWJ5-20.jpg

图11卡牌3脚本展示

第5个角色:卡牌4

https://cdn.china-scratch.com/timg/190730/143QJU2-17.jpg

图12卡牌4

卡牌4脚本展示

https://cdn.china-scratch.com/timg/190730/143QT456-22.jpghttps://cdn.china-scratch.com/timg/190730/143QR130-23.jpghttps://cdn.china-scratch.com/timg/190730/143Q912Y-24.jpg

图13卡牌4脚本

第6个角色:卡牌5

https://cdn.china-scratch.com/timg/190730/143Q91C1-25.jpg

图14卡牌5

卡牌5脚本展示

https://cdn.china-scratch.com/timg/190730/143Q92061-26.jpghttps://cdn.china-scratch.com/timg/190730/143Q910Y-27.jpghttps://cdn.china-scratch.com/timg/190730/143R053c-28.jpg

图15卡牌5脚本

第7个角色:卡牌6

https://cdn.china-scratch.com/timg/190730/143Q91C1-25.jpg

图16卡牌6

卡牌6脚本展示

https://cdn.china-scratch.com/timg/190730/143R0C33-30.jpghttps://cdn.china-scratch.com/timg/190730/143R025J-31.jpghttps://cdn.china-scratch.com/timg/190730/143R0G00-32.jpg

图17卡牌6脚本展示

第8个角色:卡牌7

https://cdn.china-scratch.com/timg/190730/143R1C34-33.jpg

图18卡牌7

卡牌7脚本展示

https://cdn.china-scratch.com/timg/190730/143R13M3-34.jpghttps://cdn.china-scratch.com/timg/190730/143R142Z-35.jpghttps://cdn.china-scratch.com/timg/190730/143R12623-36.jpg

图19卡牌7脚本展示

第9个角色:卡牌8

https://cdn.china-scratch.com/timg/190730/143R1C34-33.jpg

图20卡牌8

卡牌8脚本展示

https://cdn.china-scratch.com/timg/190730/143R25036-38.jpghttps://cdn.china-scratch.com/timg/190730/143R23209-39.jpghttps://cdn.china-scratch.com/timg/190730/143R22006-40.jpg

图21卡牌8脚本展示

https://cdn.china-scratch.com/timg/190730/143R35F4-41.jpg

好了,翻翻乐的游戏做好啦!自己试着玩一玩,看看游戏效果吧!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com