一位程序员爸爸,基于WPF开源可视化编辑器教小孩编程
家人们,谁懂啊!现在的小破站知识区未免也太卷了吧。
前不久在知识区闲逛学习发现好几个小学生在讲算法。有个 6 岁小朋友用递归实现斐波那契数列,有个 8 岁小朋友讲神经网络是怎么实现的,甚至还有个刚上五年级的小学生已经有了 5 年的编程经验。你没看错,25 岁参加招聘,却拥有 20 年编程经验的事正在发生。
实际上,这些你看着很“卷”的 Up 主,大都是从玩编程游戏开始培育兴趣的。但有个难题是,并非每个初学者都能搞懂编程语言里严格的格式、语法及数据类型等。所以出现了许多辅助的工具,如图形化编程等。
目前市面上最有名的图形化编程引擎当属 Blockly 以及其衍生的 Scratch、Makecode,许多知名的图形化编辑工具和国内编程教育机构工具大都基于 Blockly 或者 Scratch 操作。
今天,马建仓给大家推荐一款由程序员父亲为培育自己小孩入门编程,特意开发类似 Scratch 的可视化编程编辑器——
WPF-Blockly。
同时为了吸引更多人参与,共同让这个项目更完善,这位程序员父亲将此项目开源了。如果你也感兴趣,复制下方项目地址,前往项目仓库参与共建吧。
是个怎样的项目?
项目作者:
weihuajiang
项目地址:
https://gitee.com/weihuajiang/WPF-Blockly
开源许可证:
MIT
WPF-Blockly
不同于其他基于 Blockly 或 Scratch 开发的可视化编程工具,它是 由 WPF 和 .Net 共同实现,因此目前该可视化编程编辑器只能运行在 Windows 上。
支持哪些功能?
功能支持
WPF-Blockly 支持所有代码语法,例如变量、类型、局部变量、逻辑、循环、函数、参数、返回值和递归等。
功能特点
同时,它还面向对象编程和模块化编程,和真实的编程环境更加接近,因此可以制作类似 Scratch一样的游戏,也可以使用更多算法和方式开发更加复杂的游戏。
支持面对对象编程
支持模块化编程
此外,该图形化编程工具还支持自定义语法,可以定制增加各种语法和语句,还支持代码折叠、复制和粘贴、撤销和重做等编辑方式,让编辑方式更方便。
除了小游戏以外,WPF-Blockly 也可以将动态调度引擎整合到图形编程中,制作一个实验室自动化控制软件。
如何操作?
自定义脚本编辑器
编写自己的类实例;
将图形脚本编辑器添加到窗口中;
设置图形脚本编辑器的新工具栏;
为每个表达式和语句注册颜色;
使用 Serialization.Load 和 Serialization.Save 方法从中加载脚本并将脚本保存到文件或文件流。
自定义语句与表达式的外观
操作前,需继承 Expression 或 Statement 类,重写描述符或 BlockDescriptor 以自定义类的外观。
如果有些语句只有一行,仅对语句使用描述符,在 BlockDescriptor 中什么都不写。
对于复杂的语句,必须自定义 BlockDescriptor。
执行语句与表达式
要编写执行表达式与语句,需要重写 ExecuteImpl 函数;如果要执行其他表达式和语句,仅需调用 Execute 函数。
注意,ExecutionEnvironment 存储变量的所有值,都可以在环境中注册变量。
各位对自制编程游戏感兴趣的初学者、程序员家长们,快来自己上手或指导小孩试着编写一些小游戏,比如围棋、国际象棋等,和 Gitee 共同探索编程的魅力吧。
如果你也开发了有意思的图形化编辑器,搜索 “Gitee”或者复制链接,向 1000 万开发者展示你的作品。
地址:https://gitee.com/enterprises
春日焕新:超值新人福利免费领
人间四月天,春光作序,美好在此发生。
值此时节,Gitee 邀请您共赴一场春日焕新派对。
让我们抓住春天的尾巴,即刻启程,尽情畅游,一起探索创造简单高效的研发管理方式。
凡
未购买过 Gitee 付费版本的企业
,活动期间购买任意套餐,即可领取大疆手机云台稳定器、SKG颈椎按摩仪、罗技G502hero电竞鼠标、Redmi小米智能手环2等多重福利!购买多年时长还可以获得复数礼品哦,快前往 Gitee 开启春日焕新旅途吧。