分享

【春雷课堂】Scratch三级:二进制像素绘制程序

 老马的程序人生 2022-07-14 发布于湖南

二进制像素绘制程序

二进制是由0和1组成的数,0用黑色方块表示,1用白色方块表示。输入一个8位二进制数,用黑白色方块表示出来。

01
02

1. 准备工作

(1)默认小猫角色,默认白色背景;

(2)绘制“正方形”角色,角色有“黑”、“白”两个造型。

2. 功能实现

(1)小猫询问“请输入一个8位二进制”,检查输入二进制位数,如果不是8位,继续询问,直到输入8位为止;

(2)根据输入二进制,用黑白块表示出二进制,注意不能超出舞台。

3. 设计思路与实现

(1)角色分析

  • 角色:默认小猫角色

(2)背景分析

  • 背景:默认白色背景

(3)所用积木块介绍

a. 运动类

  • 将角色移动到舞台中指定的X/Y坐标位置,默认坐标(x:0, y:0)。
  • x的范围(-240, 240);y的范围(-180, 180)。
  • 如果增加的是正数,则在原先角色的位置上往右移动对应的数值;如果增加的是负数,则在原先角色的位置上往左移动对应的数值。即实现左右移动的功能。

b. 外观类

  • 将角色的造型换成指定的造型。
  • 在舞台中隐藏当前角色。

c. 事件类

  • 程序开始积木块。
  • 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
  • 消息事件启动积木块,消息是脚本之间、角色之间、舞台与角色之间沟通的重要通道。
  • 当接收到消息时,执行后面的程序指令。
  • 广播一个消息,消息可以新建,数量也不限制,不同的消息可以用于不同的场合。

d. 控制类

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环。
  • 条件判断语句,如果条件满足执行那么模块里面的积木指令,如果条件不成立,返回值为假,那么执行否则模块里面的积木指令。
  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。

e. 侦测类

  • 角色发出询问,并在舞台下边框弹出对话框,等待用户的输入回答。
  • 实时的侦测用户所输入的回答,并存储在“回答”变量中。

f. 运算类

  • 比较运算,左边等于右边返回true值(真),否则返回false值(假)。
  • 获取所给字符串的长度,即该字符串包含字符的个数。
  • 取出字符串中所给位置的字符。

g. 变量类

  • 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
  • 设置变量的值为给定值,通常用于初始化变量。
  • 设置变量的值为自身的值加X。

h. 画笔

  • 清除舞台中画笔绘制的所有图案。
  • 将角色对象像印章一样印在舞台区上。
  • 印出来的角色是不能进行任何操作的,只能够利用全部擦除指令清除掉。

(4)角色、舞台背景设置

a. 角色设置

默认小猫角色设置,无需修改角色造型。

按照题目要求,绘制“正方形”角色,如下图所示:

为“正方形”角色绘制“黑”、“白”两个造型,如下图所示:

b. 舞台背景设置

默认舞台背景设置,无需修改舞台背景。

(5)脚本编写

新建全局变量s,用于存储8位二进制。

新建全局变量i,作为索引遍历8位二进制。

a. 角色:小猫

新建消息“绘制”,用于通知“正方形”角色,开始绘制图形。

流程描述:

  1. 开始:点击小绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 询问“请输入一个8位二进制”并等待。(小猫询问“请输入一个8位二进制”)
  3. 重复执行直到:回答的字符数等于8(检查输入二进制位数,如果不是8位,继续询问,直到输入8位为止)
    • 询问“请输入一个8位二进制”并等待。
  4. 初始化变量:s = 回答
  5. 广播:绘制

b. 角色:正方形

流程描述:

  1. 开始:点击小绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始化舞台:全部擦除。
  3. 初始化位置:X=-200,Y=60。(要保证8个正方形,不能超出舞台)
  4. 初始化状态:隐藏。

当接收到广播“绘制”:

  1. 初始化变量:i = 1
  2. 重复执行8次:(根据输入二进制,用黑白块表示出二进制)
    • 如果 s 的第 i 个字符等于0,那么用“黑”造型进行图章,否则用“白”造型进行图章。
    • i += 1
    • x的坐标增加50,为绘制下一个正方形做准备。

4. 评分标准

(1)绘制出黑白两方块;(1分)

(2)能询问输入二进制;(1分)

(3)检查二进制位数,不是8位,重复询问;(2分)

(4)能够画出正确的黑白方块。(6分)

5. 知识块

三级知识块

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多