少儿创意编程scratch初级游戏--翻翻乐
话不多说,点击蓝字关注吧~
可爱的小朋友们,今天我们来编一个“翻翻乐”小游戏吧。
游戏介绍:翻翻乐是一款考验记忆力的小游戏哦!游戏中玩家只要找出两张相同图片就能将其消除,消除所有图片就算胜利哦。
翻翻乐
效果图
点击边框调出视频工具条玩家通过操控锤子击打洞里冒出来的地鼠来得分。
变量
在这个游戏中,我定义了4个变量:
(1)已翻卡牌编号:这个变量表示第一次翻起来的卡牌编号,它是隐藏变量。
(2)第几次翻牌:这个变量表示第1次还是第2次翻卡牌,它是隐藏变量。
(3)猜对次数:这个变量表示猜对了几次。如果猜对4次,表示这一局游戏结束,它是隐藏变量。
(4)行数:这个变量用于创建列表,它是隐藏变量。
还定义了两个列表:
临时列表:这个列表用于生成“卡牌1”到“卡牌8”的顺序列表。
卡牌列表:这个列表用于将卡牌顺序随机打乱,这样在每一局游戏中,卡牌的排列顺序都是不一样的。
背景
图1背景图
选择黑色幕布作为舞台背景
“背景”脚本
图2背景脚本
背景只有一段脚本,当接收到“开始游戏”时,删除临时列表的全部项目。然后将行数设置为1。因为有8张卡牌,所有重复执行8次,将“卡牌”和“行数”连在一起,形成一个字符串,加入临时列表中,然后把“行数”增加1。通过循环,我们将字符串“卡牌1”到“卡牌8”顺序插入到“临时列表”中。
接下来删除“卡牌列表”中全部项目,然后进入循环,直到“临时列表”的项目数为0才会跳出循环。在循环体中,首先从1到“临时列表“的项目数之间取一个随机数,并将其赋值给变量“行数”。然后将“临时列表”的第“行数”项的值加入到“卡牌列表”中,并且将“临时列表”的“行数”项删除。通过这3条语句,可以从“临时列表”中随机选择一条记录,将其插入到“卡牌列表”中,然后从“临时列表”中删除这条记录。经过8次循环,“临时列表”中的数据都迁移到了“卡牌列表”中,只是顺序被打乱了。
之后,广播“排列卡牌”消息,然后初始化,将变量“已翻卡牌编号”设置为空,将变量“第几次翻牌”设置为1,将变量“猜对次数”设置为0
角色
图3角色图
这个游戏一共9个角色,分别是8张卡牌和开始按钮
第1个角色:开始
图4开始图
这是开始按钮,也是用来提示没有选中的提示框。造型如图4,前2个是按钮,最后一个是提示信息。
为这2个角色增加了2个声音,分别表示没选中所对应的声音“没选中”和全部选中后的声音“成功”。声音是从本地上传的
“开始”脚本展示
图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
图6卡牌1
卡牌1脚本展示
第一步:当接收到“排列卡牌”消息,首先显示角色,将造型切换为“反面”,将变量“计数器”设置为1。然后循环8次,如果变量“计数器”最初为1,那么条件“卡牌1=卡牌列表的第计数器项”就是比较“卡牌列表”的第1项内容是否等于字符串“卡牌1”。如果不满足条件,也就是“卡牌列表”的第1项内容不等于字符串“卡牌1”,就会将“计数器”加1。然后进入下一轮循环,直到找到“卡牌列表”中内容等于字符串“卡牌1”的那一项。这一项的序位数,就是变量“计数器”的值。然后设置该角色的位置。通过判断变量“计数器”的值,来获取信息。如果“计数器”的值<5,表示在第一行,否则在第二行。设置好该角色位置后,会停止当前脚本。
第二步:当角色被点击时,比较卡牌。如果变量“第几次翻牌”等于2并且变量“已翻卡牌编号”等于字符串“卡牌1”,表示是第2次翻牌且翻的是同一张牌,那么就没有必要进行比较,所以停止脚本。
否则,将卡牌造型切换为“正面”,等待05s,再将造型切换为“反面”造型。目的是让玩家能够看到卡牌的内容。
如果满足条件“第几次翻牌=1”,将“已翻卡牌编号”设置为字符串“卡牌1”,将变量“第几次翻牌”设置为2。
否则,要判断“已翻卡牌编号=卡牌2”,如果成立,表示匹配成功,广播“第1对正确”消息,并将“猜对次数”加1;如果不成立,表示没有匹配成功,广播“错误”,并将变量”第几次翻牌“重新设置为1。
第三步:当接收到”第1对正确“消息后,播放声音"ya",并将角色切换为翻卡状态0.5s,表示匹配成功,然后隐藏角色。
图7卡牌1脚本
第3个角色:卡牌2
图8卡牌2
卡牌2脚本展示
卡牌2和卡牌1的脚本基本一致,这里把差异地方介绍一下。
设置卡牌2的摆放位置,这里比较的是字符串“卡牌2”。
点击角色,比较卡牌。注意,第1次翻牌,要将变量“已翻卡牌编号”设置为字符串“卡牌2”。做卡牌对比时,这里要将变量“已翻卡牌编号”和字符串“卡牌1”比较。
图9卡牌2脚本
第4个角色:卡牌3
卡牌3到卡牌8也基本和卡牌1与卡牌2的脚本一致,只是在摆放的位置、比对卡牌内容方面有所不同,这里不再赘述,只是把脚本列出来。
图10卡牌3
卡牌3脚本展示
图11卡牌3脚本展示
第5个角色:卡牌4
图12卡牌4
卡牌4脚本展示
图13卡牌4脚本
第6个角色:卡牌5
图14卡牌5
卡牌5脚本展示
图15卡牌5脚本
第7个角色:卡牌6
图16卡牌6
卡牌6脚本展示
图17卡牌6脚本展示
第8个角色:卡牌7
图18卡牌7
卡牌7脚本展示
图19卡牌7脚本展示
第9个角色:卡牌8
图20卡牌8
卡牌8脚本展示
图21卡牌8脚本展示
好了,翻翻乐的游戏做好啦!自己试着玩一玩,看看游戏效果吧!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com