[导读]:蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事。蓝桥杯大赛首席专家倪光南院士说:“蓝桥杯以考促学,塑造了领跑全国的人才培养选拨模式,并获得了行业的深度认可。”

春雷课堂计划推出Scratch蓝桥杯真题解析100讲,这是春雷老师解读Scratch蓝桥杯真题系列的第003讲。

3D打印小猫

来源:第11届蓝桥杯Scratch国赛真题编程第6题,是中级组最后一题,初级组没有此题。

代码:若需要代码可添加小助手微信索取。

1. 题目说明

背景信息:3D打印技术,它与普通打印工作原理基本相同,打印机内装有液体或粉末等“打印材料”,与电脑连接后,通过电脑控制把“打印材料”一层层叠加起来,最终把计算机上的蓝图变成实物。

编程实现:通过滑杆控制小猫造型变化,按下空格键,传感器进行扫描并在小猫右侧打印它的造型。

具体要求

(1)当小绿旗被点击后,角色出现在舞台对应位置;

(2)通过滑杆控制小猫形状变化(外观特效:鱼眼,滑杆范围:-100~100);

(3)按下空格键,小猫左侧出现传感从下到上对小猫进行全身扫描,同时在右侧从下到上依次画出扫描过的部分身体;

(4)当完成扫描后,右侧程序完整造型效果;

(5)点击绿旗,程序可重新开始。


2. 设计思路

(1)整体思路

我们可以将小猫从下到上分成若干层,每一层又由若干个点构成的。如果能确定小猫的层数,以及每一层中所要打印点的位置,那么我们就可以使用Scratch画笔来绘制出黑色的小猫。

在对小猫进行逐层扫描的过程中,对点的大小把握显得至关重要,点越小,效果越好,但需要扫描的次数也更多,一般来说,选择1个像素(等于Scratch中的1步)是最合适的。所以绘制一个大小为1的小圆点作为“扫描点”角色,等待玩家按下空格键,将该角色移到小猫的左下方,从左到右,从下到上进行逐层扫描。此处注意小圆点要放置在中心点位置(角色的坐标即为该角色中心点的坐标)。

为了让“Magic Wand”与题目所给图形一致,也为了更好地跟随“扫描点”移动,需要对“Magic Wand”的造型进行修改。此处注意,中心点位置为“Magic Wand”的头部。

本题一共使用了4个角色,如下图所示:

根据题目描述,我们可以绘制流程图来整理思路,小猫的执行流程如下:

“扫描点”的执行流程如下:

“Magic Wand”的执行流程如下图:

“Pencil”的执行流程如下图:

(2)本题关键

  • 如何让“扫描点”进行由下到上,由左到右的逐层扫描?
  • 在“扫描点”逐层扫描的过程中,如何让“Magic Wand”跟随“扫描点”移动?
  • 在“扫描点”逐层扫描的过程中,如何让“Pencil”绘制对应的打印点?

可以使用循环嵌套的方式来实现由下到上,由左到右的逐层扫描。首先让“扫描点”移到小猫的左下方,外层循环控制由下到上越过小猫,内层循环控制由左到右越过小猫,这样就完成了对小猫的扫描。

在“扫描点”逐层扫描的过程中不断记录“扫描点”的坐标,并通过广播的方式通知“Magic Wand”来更新坐标位置,从而实现“Magic Wand”跟随“扫描点”移动。

在“扫描点”逐层扫描的过程中侦测是否碰到小猫,若碰倒小猫,则通过广播的方式通知“Pencil”进行描点,在“Pencil”接收到广播后,X坐标增加一些步数,开始描点,从而实现在小猫的右侧绘制对应的打印点。

3. 实现脚本

(a)小猫角色

主要是实现鱼眼特效。

(b)扫描点角色

这里使用了两层嵌套循环,外层的循环重复执行了152次,表示将小猫分152层进行逐行扫描,每一层扫描完毕,都回到左边,并向上移动一层,进行下一层的扫描。

内层循环则是自左至右重复执行120次,每移动1步,都需要记录下该点的x,y坐标,分别保存在变量xy中,发送给Magic Wand。在扫描过程中,如果碰到小猫,就说明这个点是有效的打印点,发送给画笔。

(c)Magic Wand角色

该角色的作用就是让用户看到扫描的过程,但真正完成扫描工作的是”扫描点“角色。

(d)Pencil角色

需要注意的是,这里的x坐标值为“打印点x + 120”,其作用是在小猫的右侧120步处开始打印小猫,如果没有右移的话,那么打印出来的小猫和原来的小猫会重叠,至于右移多少,可以自己设定,比如100步、150步都可以。

【蓝桥杯】第11届Scratch国赛中级组第6题 -- 3D打印小猫相关推荐

  1. 蓝桥杯十四届单片机国赛试题及代码

    今年十四届单片机国赛试题在程序题设计方面难度有所下降,但选择题没有了以往可以在手册中可以找到的单片机类选择题,选择题难度较高,因此想获得一个不错的成绩,需要在选择题方面有所加强 试题展示 设计说明 此 ...

  2. 蓝桥杯2022年1月STEMA C++中级组编程真题解析

    哈喽啊,好久不见朋友们,昨天蓝桥杯刚过去,趁着我题目还记着,来给你们讲一下 还是那句话,点赞关注加复制代码 \doge. 题目描述我只讲个大概!!! 第一题 题目 给你两个数a,b要求输出两数中较大的 ...

  3. 【蓝桥杯国赛真题23】Scratch恐龙跑酷 第十三届蓝桥杯 图形化编程scratch国赛真题和答案讲解

    目录 scratch恐龙跑酷 一.题目要求 编程实现 二.案例分析 1.角色分析

  4. 3D打印小猫-第11届蓝桥杯Scratch国赛真题第6题

    本文同步发表于"超平的编程课"公众号,更多教程,可移步至公众号. [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第8讲 ...

  5. 【蓝桥杯】第10届Scratch国赛第6题程序2 -- 捉迷藏

    [导读]:蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事.蓝桥杯大赛首席专家倪光南院士说:"蓝桥杯以考促学,塑造了领跑全国的人才培养选拨模式,并获得了行业的深度认可.&q ...

  6. 蓝桥杯第十三届国赛PythonB组题解

    蓝桥杯第十三届国赛PythonB组题解 [写在前边] 这次的题还是比较难的,只做出来7道,交上去6道,还有一半是暴力做的

  7. 【蓝桥杯单片机11】单总线温度传感器DS18B20的基本操作

    [蓝桥杯单片机11]单总线温度传感器DS18B20的基本操作 广东职业技术学院 欧浩源 单总线数字温度传感器DS18B20几乎成了各类单片机甚至ARM实验板的标配模块来,在蓝桥杯的往届省赛和国赛中,这 ...

  8. 第十三届蓝桥杯大赛软件赛省赛 Java 研究生组

    第十三届蓝桥杯大赛软件赛省赛 Java 研究生组 [考生须知] 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试 题. 考试时间为 4 小时.考试期间选手可浏览自己已经提交的答案,被浏 ...

  9. 蓝桥杯第十三届大赛web大学组题目及答案解析

    - 题目列表 1. 水果拼盘(flex布局 - 送分题) 2. 展开你的扇子 (CSS动画 - 简单题) 直接上代码 /*TODO:请补充 CSS 代码*/ #box:hover div:nth-ch ...

最新文章

  1. 16、Kubernetes搭建高可用集群
  2. Android   Fragmnet的使用新体会
  3. 在Linux上使用Nginx为Solr集群做负载均衡
  4. C++ const vector的迭代器
  5. javascript垃圾回收机制
  6. 第29课 - 排序课后练习
  7. 全球压缩毛巾行业调研及趋势分析报告
  8. notepad++ 设置保护色
  9. Spring 中常用注解原理剖析
  10. mysql为什么要重建索引_深入理解重建索引
  11. 牛客练习赛68 A.牛牛的mex
  12. halconc#软件收费吗_没事别想不开做Halcon机器视觉工程师
  13. 2.Conv2d实现
  14. 十几套JavaWeb项目,拿去当毕业设计简直太爽了(源码)
  15. 管理故事:保罗与小男孩
  16. Oracle-06:DML语言数据表的操作
  17. 近红外光谱预测苹果糖度
  18. 2018年7月23日安全快讯
  19. ###岁月静好###
  20. java 加密指定位数字符串

热门文章

  1. 供应链变革专案的利器–SCORE方法论 (六)
  2. 如何对构建基因克隆的测序结果批量进行序列比对并输出结果
  3. Android 监听手机来电和去电
  4. 网络爬虫学习网络资源链接汇总
  5. Tkmybatis快速入手
  6. 半导体器件物理【16】非平衡过剩载流子 —— 准费米能级
  7. 紧耦合超宽带广角偶极子阵列天线设计
  8. java map put get_JAVA中MAP的PUT函数和GET函数用法
  9. windows系统重装后重新使用之前的oracle
  10. 湖北省恩施土家族苗族自治州市谷歌高清卫星地图下载