作品说明
今天要分享的scratch作品是《破译保险柜密码》,本题是第13届蓝桥杯Scratch组选拔赛真题,出现在2022年3月13日举行的STEMA考试中,这是编程部分第4题,题目要求编程创作破译保险柜密码作品。运行程序,随机生成一组4位数字密码,按下空格键依次从第一位数字开始破译,当4位数字都破译后,保险柜说全部解锁成功。
编程实现:
破译保险柜:通过编写程序破译保险柜随机生成的4位数字密码,例如:破译保险柜第 一位数字密码时,按照从9-0 的数字顺序依次破译第一位密码,当破译数字与密码数字相同时,保险柜第一位数字密码固定为此数字,对应星号变量显示该数字。
具体要求:
1)角色、变量、背景如图所示;
![图片[1]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-156.png)
2)点击绿旗,保险柜四个橙色方块内,会同时显示一遍0-9这十个数字(0-9显示的顺序随机,且每个数字停留 0.1 秒),最后显示星号;此时系统随机生成一个4 位数字密码,并不显示在屏幕上,保险柜说:“密码预置成功,请开始解锁”1 秒;
![图片[2]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-157.png)
3)首先按下空格键,开始破译第一位数字密码,第一行第一个数字按照9-0的顺序显示数字,如果数字和第一位密码相同,则破译完成。第二行第一个星号变为第一位密码 数字,保险柜说:“第一位解锁成功”1 秒;
![图片[3]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-158.png)
4)再次按下空格键,开始破译第二位数字密码,第一行第二个数字按照9-0的顺序显 示数字,如果数字和第二位密码相同,则破译完成。第二行第二个星号变为第二位密码 数字,保险柜说:“第二位解锁成功”1 秒;
![图片[4]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-159.png)
5)再次按下空格键,开始破译第三位数字密码,第一行第三个数字按照9-0的顺序显示数字,如果数字和第三位密码相同,则破译完成。第二行第三个星号变为第三位密码 数字,保险柜说:“第三位解锁成功”1 秒;
![图片[5]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-160.png)
6)再次按下空格键,开始破译第四位数字密码,第一行第四个数字按照9-0的顺序显示数字,如果数字和第四位密码相同,则破译完成。第二行第四个星号变为第四位密码数字,保险柜说:“全部解锁成功”1 秒;
![图片[6]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-161.png)
代码实现
本作品只有一个lock角色,其关键在于要生成一个随机顺序的列表,列表的内容是0~9,可以采用插队算法,参考代码如下:
![图片[7]-Scratch破译保险柜密码_第13届蓝桥杯Scratch真题-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/01/image-162-1024x902.png)
暂无评论内容