带你读《Blockly创意趣味编程》之一:Blockly概述

简介: Google Blockly作为一种可视化编程语言,通过类似拼图的方式构建出一个程序。本书配有丰富的案例、图片,对Blockly的基础知识、程序结构以及高级使用进行了详细的介绍。在每一章结束后都搭配一个游戏,帮助巩固本章知识,反思学习效果,更快速地上手Blockly编程。此外,每一章的课外拓展资料可以帮助了解计算机的发展。

点击查看第二章
点击查看第三章
Blockly创意趣味编程

image.png

周庆国 崔向平 郅 朋 编著

01

Blockly概述
● 学习目标
理解Blockly的概念、编程方式。
掌握在线版和离线版Blockly的使用。
掌握Blockly各个模块的功能。
● 知识图谱

image.png

在本章中,我们将学习什么是Blockly及其编程方式、在线版与离线版的Blockly的使用方式以及各个模块的功能。学习完本章的内容后,我们将对Blockly有一个整体的了解。

1.1 什么是Blockly

Blockly是一种可视化编程工具,也是众多可视化编辑工具的鼻祖。2012年6月,Google发布了完全可视化的编程语言Google Blockly。Blockly代码块由类似于积木的图形对象构成。使用者通过拖动鼠标,就可以将这些“?代码积木?”拼接起来,创造出简单的功能,然后将一个个简单功能组合起来,最终构建出一个程序。相较于传统字符型的编程语言,Blockly语言无须大家考虑命令行模式下复杂的语法规则,学习成本更低,趣味性更强。
1.一种基于网页的可视化程序
Google Blockly是基于网页的可视化编程工具库,用户可以以离线或者在线的方式,在Windows、Linux和Android等平台上使用Blockly进行编程操作。
2.多种开发语言环境库
Blockly基于图形化编程设计,可以导出JavaScript、Python、PHP、Lua、Dart等多种语言。在Blockly中有一个类似语言转换器的工具箱,可以将图形化编程语言转换成多种编程语言代码,有助于用户通过图形化编程方式理解多种程序语言。
3.开源的自定义编程环境
Blockly是开源的编程工具,用户可以根据自己的需求对Blockly工具箱进行自定义设计。同时,Blockly开发工具能将用户自定义的块添加至工具箱,并在工作区工厂完成对代码的封装,如图1-1所示。

image.png

1.2 Blockly编程环境

Blockly有在线版和离线版两个版本,在浏览器的地址栏输入https://developers.google.cn/blockly/ ,访问Blockly官网,即可体验Blockly在线编程,如图1-2所示。

image.png

离线版的Blockly无须安装,只需要在解压文件后,进入Demos并打开index.html文件,选择相应的选项即可体验。在Linux系统中,可下载TAR Ball,在终端解压文件即可;在Windows系统中,则下载ZIP File并解压即可。下载地址如下:
Github Blockly地址:https://github.com/google/blockly
TAR Ball地址:https://github.com/google/blockly/tarball/master
ZIP File地址:https://github.com/google/blockly/zipball/master
如图1-3所示即为Blockly离线版Demos。

image.png

1.3 Blockly模块功能

Blockly总共分为8个模块,学习了新的函数或者命令后,就可以使用这些模块进行练习。所有的Blockly模块都存放在在线编程界面左侧的列表中,如图1-4所示。

image.png

使用时遵循正确的语法并进行适当的缺口对接就能实现预定功能。因此,通过对模块进行适当的组织就能轻松地实现新的想法和创意,如表1-1所示。

image.png
image.png
image.png

1.4 小试牛刀—游戏:拼图

学习完上述内容,相信大家对Blockly已经有了初步的认识。接下来我们通过一个游戏来进一步掌握这种类似积木拼接的编程模式,游戏地址如下:http://cooc-china.github.io/pages/blockly-games/zh-hans/puzzle.html?lang=zh-hans
游戏规则:
① 每种动物都有自己的特征。拖动模块将动物与其特征进行匹配,并为每一种动物选择合适的腿数,如图1-5所示。
② 单击“检查答案”按钮检查是否正确完成拼图,匹配正确后,游戏结束,顺利通关,如图1-6所示。

image.png

image.png

1.5 本章练习

1.进入Blockly官网,熟悉Blockly,并使用在线版Blockly输入“HelloBlockly”。
2.在本地配置离线版Blockly,并完成Plane游戏的练习。

1.6 课外拓展

计算机语言
计算机语言是指人与计算机之间“交流沟通”的语言,它是人与计算机之间通信的媒介。目前计算机语言的种类非常多,根据其功能和特性可大致分为机器语言、汇编语言、高级语言三大类。众所周知,二进制是计算机语言的基础,而这种计算机能够识别的二进制语言就称为机器语言。如果要和计算机之间进行信息传递,就需要写一长串由0和1组成的指令序列,告诉计算机下一步该做什么、怎么做,由此可见使用机器语言是十分不便的。为了减轻这种使用上的不便,汇编语言诞生了。汇编语言是用自然语言中的一些简单的单词或符号来替代一些操作的二进制指令序列,如SUB代表减法,ADD代表加法。由于计算机不能识别这些符号,所以在执行汇编语言之前需要先将其编译成计算机能够识别的机器语言。虽然汇编语言在机器语言的基础上做了一些人性化的改进,但是它的每一条指令只能完成一个非常简单的操作,这就导致汇编程序依然非常复杂,不利于学习和开发。于是,在汇编语言的基础上,又诞生了高级语言,也就是我们现在常用的开发语言,如C、C++、Python、Java等,与机器语言、汇编语言相比,高级语言更接近于自然语言,大大简化了底层的操作指令,降低了编程者的入门门槛。
TIOBE是开发语言排行榜,它会根据当前业内程序开发语言的流行程度每月更新一次(如图1-7所示)。通过这些指数,不仅可以帮助开发者根据趋势制定合理的学习路线,而且可以帮助企业及时进行招聘、开发等方面战略部署与调整。此外,通过长期的数据对比,该指数还对世界范围内开发语言的走势具有重要参考意义。

image.png

相关文章
|
1月前
|
机器学习/深度学习 人工智能 物联网
社区供稿 | 创作《哈利波特与异界魔书》的过程和心得
可图Kolors-LoRA风格故事挑战赛一等奖作品,以下是团队创作过程的详细回顾
|
4月前
|
搜索推荐 物联网 vr&ar
"电子书VS纸质书:一场跨越时空的阅读盛宴,你站哪队?揭秘数字与纸墨的终极对决,哪种阅读方式才是你的真爱?"
【8月更文挑战第14天】电子书与纸质书作为知识传播的载体,各具特色。电子书凭借便携性、个性化设置及互动功能受到欢迎;而纸质书则以其独特的感官体验、收藏价值和促进深度阅读的特点保持着吸引力。随着技术进步,两者正逐步融合,如电子书提供沉浸式体验,纸质书引入智能元素,共同丰富阅读世界。
55 0
|
7月前
|
存储 安全 Java
小说阅读平台设计与实现
小说阅读平台设计与实现
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
小说中修仙系统的方向统计_IT修仙_人工智能的底层逻辑
小说中修仙系统的方向统计_IT修仙_人工智能的底层逻辑
159 0
|
7月前
|
编解码 安全 程序员
创作活动(五十一)———编程中常见的技术难题有哪些?
创作活动(五十一)———编程中常见的技术难题有哪些?
68 0
如果只读一本与游戏设计有关的书,那一定就是这本了
在开始之前,先看一下作者 Jesse Schell 在前言中的忠告: 不要以为读了这本书或者任何一本书就能把你变成游戏设计师,更别提想当优秀的游戏设计师了,游戏设计不是一套原理而是一种活动,光读书当不了歌手,飞行员,篮球选手,也不能变成游戏设计师。要成为游戏设计师,只有一条路,那就是设计游戏,更精确点是设计别人真正喜爱的游戏,也就是说随便把游戏创意写下来是不够的,你一定要造出游戏亲自来玩,并让别人也来玩儿,如果感觉不满意(不会满意的),就要修改,修改,再修改,修改十几次,直到创作出大家确实爱玩的游戏为止。
102 0
|
人工智能 自然语言处理 搜索推荐
|
安全 算法 程序员
高效能程序员的修炼札记:安全基础,保护用户数据
高效能程序员的修炼札记:安全基础,保护用户数据
143 0
|
Unix Linux
带你读《Blockly创意趣味编程》之三:Blockly选择结构
Google Blockly作为一种可视化编程语言,通过类似拼图的方式构建出一个程序。本书配有丰富的案例、图片,对Blockly的基础知识、程序结构以及高级使用进行了详细的介绍。在每一章结束后都搭配一个游戏,帮助巩固本章知识,反思学习效果,更快速地上手Blockly编程。此外,每一章的课外拓展资料可以帮助了解计算机的发展。
|
存储 程序员
带你读《Blockly创意趣味编程》之二:Blockly编程基础与顺序结构
Google Blockly作为一种可视化编程语言,通过类似拼图的方式构建出一个程序。本书配有丰富的案例、图片,对Blockly的基础知识、程序结构以及高级使用进行了详细的介绍。在每一章结束后都搭配一个游戏,帮助巩固本章知识,反思学习效果,更快速地上手Blockly编程。此外,每一章的课外拓展资料可以帮助了解计算机的发展。