【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第三讲 ...
随机推荐
- android通用的UUID唯一标示符
http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id 版权声明:本文为博主原创文章,未经博主允许 ...
- 监控zabbix 3.4.11异常通过邮件报警步骤
监控的目的一个是可以查看历史状态,可以对比零晨和工作区间数据的对比,以便后期进行优化指导.还有一个是报警,总不能等到服务器出现异常了才去从头查是什么问题吧.所以这篇主要介绍报警中最基础的一个 配置邮件 ...
- OpenJudge计算概论-异常细胞检测
/*======================================================================== 异常细胞检测 总时间限制: 1000ms 内存限制 ...
- Ubuntu18.04修改主机名和网卡地址
date: 2019-06-26 09:56:04 author :headsen chen notice :个人原创 1,Ubuntu18.04 设置固定IP: 2,Ubuntu 18.04 设置主 ...
- leetcode 127. Word Ladder、126. Word Ladder II
127. Word Ladder 这道题使用bfs来解决,每次将满足要求的变换单词加入队列中. wordSet用来记录当前词典中的单词,做一个单词变换生成一个新单词,都需要判断这个单词是否在词典中,不 ...
- 一个Flask应用运行过程剖析
相信很多初学Flask的同学(包括我自己),在阅读官方文档或者Flask的学习资料时,对于它的认识是从以下的一段代码开始的: from flask import Flask app = Flask(_ ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_04-Eureka注册中心-将服务注册到Eureka Server
cms相当于客户端 配置客户端的信息 后面加逗号分隔开 50102表示向两台eureka服务上报服务,如果有一台死掉了 那么还可以上另外的一台去注册服务 直接把ip注册到eureka 启动类加注解 重 ...
- Kafka——副本(Replica)机制
副本定义 Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区.副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本. 所谓副本(Replica),本质就是一个只能追加写消息的提交 ...
- LODOP打印超文本字符串拼接1 固定表格填充数值
前面的博文:Lodop打印控件传入css样式.看是否传入正确样式.Lodop打印如何隐藏table某一列,Lodop传入的样式可以不是页面本身的css样式,传入什么打印什么,此外,数据也是,超文本打印 ...
- Struts 2 --ONGL介绍
先了解一下OGNL的概念 OGNL的全名称Object Graph Navigation Language.全称为对象图导航语言,是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取J ...