44751| 0
|
[教程] Morse电码转换器 |
本帖最后由 szjuliet 于 2020-12-14 22:05 编辑 Morse电码转换器
学习目标
摩尔斯电码(Morse code)摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。是由美国人艾尔菲德·维尔与萨缪尔·摩尔斯在1836年发明。 摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用0和1两种状态的二进制代码,它的代码包括五种:
步骤1 素材准备a. 准备26个字母的Morse电码音频。 到网站https://morsecode.world/international/translator.html播放26个字母的电码音频并录制分割,得到26个字母独立的音频文件。 b. 准备音效文件 在“听音辨码”环节中有一个“Ready, Go!”的音效,找到音效在线播放并录制下来。 c. 准备txt文件(csv文件亦可)
步骤2 添加背景和角色1. 背景背景是标题,在编辑器里制作“Morse电码转换器”标题。 2. 角色
步骤3 程序编写a. 定义全局变量 在Scratch中,变量分为全局变量和局部变量两种。全局变量对所有角色都起作用,局部变量只对当前角色起作用。为了让程序结构清晰,我们仅定义3个全局变量,其余只在某个角色中使用的变量我们在角色中定义局部变量。这3个全局变量是:
因为是全局变量,所以可以在任何一个角色或背景中定义。 b. 为角色TexttoMorse编写代码
index_word:在遍历用户输入的单词时当前字母的索引,初始值为1 text_to_morse:文本最终转换的Morse电码的结果,初始值为""空字符串
— 定义局部变量 — 遍历用户输入的所有字母,依次将每个字母对应的索引在Morse电码中的对应电码保存并播放该电码的音频。 — 循环结束后,输出转换结果。 注: 等待0.5秒的作用是将每个字母的Morse电码进行间隔,以便听的时候更好的区分。
c. 为角色MorsetoText编写代码
index_line:在遍历用户输入的Morse电码时当前字符的索引,初始值为1 morse_to_text:电码最终转换的文本结果,初始值为""空字符串 singleCode:所转换的单个字母所对应的Morse电码
— 定义局部变量 — 遍历用户输入的所有字符 如果当前字符是空格,说明上一个字母的Morse电码结束,将这个字母的Morse电码(即变量singleCode的值)添加到到变量morse_to_text中; 否则,说明当前字符仍然是某个字母Morse电码的一部分,将字符保存到变量singleCode中。 — 循环结束后,由于最后一个字符后面不再有空格,所以需要将singleCode的最后一次的值添加到变量morse_to_text中 — 输出转换结果
d. 为角色Guess编写代码
random_word:从列表words_alpha中随机选中的一个单词并保存到该变量中 index_word:遍历变量random_word中的所有字母时当前字母的索引,初始值为1 text_to_morse:文本最终转换的Morse电码的结果,初始值为""空字符串。此变量可选,因为最终结果无需输出。
— 定义局部变量 — 遍历变量random_word中的所有字母,依次将每个字母对应的索引在Morse电码中的对应电码保存并播放该电码的音频。 — 循环结束后,输出转换结果。(可选)
思考
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed