【Scratch】编程?一节课就教会你!其实我们不用一个个学习如何使用代码。

第199篇文章
老丁的课程
在很多教程里面,大家都喜欢把模块拿出来一个个讲述其功能。
这样做的好处是,可以把每个代码模块的功能讲的很清楚。但最最讨厌的问题也随之而来……
举个例子,当你学习英语的时候,是语法好学,还是词汇好学?
肯定是语法啊……因为语法基本上就是语言规则,规则是有限的。并且,规则在很多情况下是可以根据自己的要求重新组合的。而词汇呢?没完没了……所以,英语水平的高低,从某种意义上来说,词汇量本身就是一个很好的参考标准。
如果学习英语的时候,光背词汇,第一,记不住,第二,用不来,那么面对浩瀚的辞海……怎么能学会呢?
所以,我们要从理解的角度来学习这些东西。
再所以,我们还是从一个编程流程的方法,作为实际操作的开始吧!
本课程将把很多应用和知识点融入课程内来讲述哦!
注定,这不是一套说明书式的教程。
别看Scratch有那么多模块的种类,其实归根结底,只有2种。
第一种都长这个样子,就像一个个卡片。它们负责一个程序中的具体流程执行或者执行判断、循环。

不管它们是什么颜色,其实我们可以理解为,它们都属于同类~都可以堆在一块。
先不管这些代码是干嘛的,反正你只要把这些家伙随意的堆在一起,就可以做出一个程序。

而程序就会根据由上到下的顺序,开始执行。
第二种,就是椭圆的和六边形的。

这些我们可以认为他们是一种“条件”代码。
专管数据条件、逻辑条件(布尔运算)、处理数据等等,反正千变万化,可以有很多很多种,十分考验运用能力。它们给流程模块和输出模块,带来了各种各样的“条件要求”。当然,这些条件都可以由你自己来设置。
与EV3不同,Scratch的编程工具,开发的更为“详细”。
比如,关于启动的流程模块,也就是“事件”下面所对应的各种代码块。

这些模块一般都是用来启动某一套程序的。你可以设定各种各样的启动条件。
其他的都很好理解,比如当小旗帜被点击,当空格(也就是电脑键盘上的空格)被点击,它们都是用来触发程序启动的“条件”。
诶,对了,这里我们看到了几个关键词。

角色、背景、广播,它们是什么?请看下面这个全景图。

跟Mindstorms相比,Scratch多了一个“角色”的感念。同时也多了一个“背景”的概念。
简单说,这两种东西,都是“对象”。
你编程对谁编?
当然是对“对象”来编程啦。
对象可以是“角色”,也可以是“背景”。区别是,角色可以移动来移动去,而背景就是整个背景图案啦。
点击上图右下角的两个按钮,大家可以自己添加角色和背景。这个很简单,没什么特别的地方,尝试一下马上就明白了。
当你需要对一个添加完的角色或者背景进行编程或者修改的时候,就要去选中对应的那个对象。

然后你就可以根据上图做这些事情。
了解了上面这些内容后,大家就明白了。
在Scratch里面,我们的编程可以明确的针对每一个被添加上的角色和背景来进行操作!
简单说,就是,让谁干嘛就干嘛。在一个程序里,每个对象的分工都可能是不同的,而我们,只要明确的告诉每个对象,做些什么,就ok啦!
而你可以看到,上文说到的这两类代码都是配合着使用的。
比如,首先,我们在程序的一开始,需要放一个启动模块。(什么操作触发程序启动)

我们当然,可以很简单的放上另一个卡片,来控制这只Scratch猫。这只需要放上一个代码即可。可以手动输入半圆内的数字,来控制一下这只猫。
但这毕竟是手动输入呀,程序不是应该可以根据一些情况自己计算距离的么?

那么我们稍微提一个复杂一点的要求好了,这样比较容易帮助小朋友理解问题。
要求:当绿色旗帜被按下后,让小猫,以再次按下鼠标之间的时间为条件,移动到坐标(100,0)的位置。
问题其实也挺简单的。我们可以看得出来,最终呈现的效果一定是间隔时间越短,猫移动的越快,而间隔时间越长,猫移动的越慢。对么?
这个时候,我们就需要使用到这些“数据条件”代码的配合啦。
首先,在程序一开始,把我们需要用到的计时器和猫的位置归零。

这是一个习惯问题,在我们使用任何数据模块的时候,程序一开始,尽量要养成归零或者完成初始值设置的习惯。这样方便我们日后检查一些程序的问题,同时也容易帮助我们找到问题,这个在以后的课程中,我们会经常提到。
第二步,把题目中要求的两个动作给放上去。
1、等待鼠标点击
2、把猫移动位置给设定好

我们可以看到上图的两个位置,是可以放上两种形状的代码的!

这种形状,我们叫做“布尔运算”代码。不作过多的解释了,大家简单理解为,这就是一种逻辑判断就可以了。
逻辑嘛,就是“是”或者“不是”;“包含”或者“不包含”;“成立”或者“不成立”……
反正就是二选其一,单选的条件。它本身也是一种数值,不符合逻辑的时候,它的数值就是0;而符合逻辑的时候,它的数值就是1。
所以它也可以直接当做是数据来使用,只是它的数据变化,只有0和1两种。

而上图这些,就是“数据运算”代码。它们的可能性就多咯。你可以运算,加减乘除,甚至更高级的数学运算。它们最终代表了各种数值。
我们分别把题目要求的两种数据,拖动到相应的“代码运算”位置上,这个程序就完成啦!

是不是很简单,动手试试看吧!
当然,理解了这些内容后,自己可以作一些各种各样的小尝试。
学起来不难,理解也不难,但熟悉,还是需要一些时间滴!
【Scratch】编程?一节课就教会你!其实我们不用一个个学习如何使用代码。的更多相关文章
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
- centos shell编程3【告警系统】 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七节课
centos shell编程3[告警系统] 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七 ...
- centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课
centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- 跟我一起学编程—《Scratch编程》第24课:幸运大转盘
同学你好,欢迎来到<跟我一起学编程>,我是包老师.这是<Scratch3.0编程>课程的第24课,我这节课教你做一个抽奖游戏:幸运大转盘. 学习目标: 1. 能够熟练使用造型工 ...
- 跟我一起学编程—《Scratch编程》第22课:颠弹力球
1. 能够熟练绘制角色和背景造型 2. 能够熟练控制角色角度.速度等 3. 能够熟练使用变量 4. 能够熟练使用循环.选择等指令控制程序 任务描述: 1. 绘制弹力小球.托板角色,背景造型. 2. 游 ...
- 跟我一起学编程—《Scratch编程》第21课:打地鼠
能够熟练创建并使用变量 能够熟练使用“广播”和侦测指令 能够熟练绘制角色和背景造型 能够熟练使用循环.选择等程序指令 任务描述: 绘制有6个地洞的背景:绘制锤子的两个造型:绘制地鼠的造型. 游戏开始后 ...
- 少儿编程|Scratch编程教程系列合集,总有一款适合你
如果觉得资源不错,友情转发,贵在分享!!! 少儿编程Scratch: 少儿编程Scratch第一讲:Scratch完美的初体验少儿编程Scratch第二讲:奇妙的接球小游戏少儿编程Scratch第三讲 ...
随机推荐
- CSPS2019谢幕记
留坑待填. 开始填坑. Day -1 最后一场模拟题.T1花2h切掉,T2啥都不会,T3看出部分解法然后写了暴搜,教练没放子任务,得了45,然后就$rk3$了. 晚上疯狂写板子,1.5h写了8份板子. ...
- Channel继承关系
- Macbook上打开多个终端的方法
方法有如下两种 1.首先是的焦点在终端上(使用鼠标点击下终端).然后使用快捷键command+N 即可得到另一个终端界面. (如果现在光标的焦点在浏览器上,那么就是新打开一个浏览器窗口) 2.同样,光 ...
- 如何在Windows Server 2008服务器中把Tomcat启动程序添加到服务中
转自:https://blog.51cto.com/zdytesting/2314093 tomcat所在的bin目录: 添加服务: service install service_name 移除服务 ...
- oracle主键修改级联外键
举例:修改te_rygj_menu这张表的主键menu_id时,te_rygj_usermenu中的menu_id也跟着修改.利用触发器trigger实现: create or replace tri ...
- Flutter移动电商实战 --(45)详细页_说明区域UI编写
pages/details_page/details_expain.dart 详情页面引用组件 效果展示: 最终代码: import 'package:flutter/material.dart'; ...
- Logback 输出 JPA SQL日志 到文件
Logback 输出 JPA SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Sprin ...
- Java 代码编写单例模式总结
手写一个单例模式是 Java 面试中常见的问题,很多时候我们更偏向于简单的写一个饿汉或饱汉模式,深入研究的甚少,这里列举三种实现方式,并对各自的优缺进行分析. 1. 饿汉式 public class ...
- PM2用法简介【命令行启动 --env 参数设置使用问题】
环境切换 正式开发中分为不同的环境(开发环境.测试环境.生产环境),我们需要根据不同的情景来切换各种环境 pm2通过在配置文件中通过env_xx来声明不同环境的配置,然后在启动应用时,通过--env参 ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_11-课程详情页面静态化-课程信息模板设计
测试模板 页面的模板已经做好了 直接那来用 测试模板,把这个模板copy到这个测试freemarker的resources目录 远程调用 获取数据 返回模板的文件名 tomcat不支持ssr.ngin ...