欢迎光临散文网 会员登陆 & 注册

一位程序员爸爸,基于WPF开源可视化编辑器教小孩编程

2023-04-19 18:21 作者:Gitee酱  | 我要投稿

家人们,谁懂啊!现在的小破站知识区未免也太卷了吧。

前不久在知识区闲逛学习发现好几个小学生在讲算法。有个 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 开启春日焕新旅途吧。

一位程序员爸爸,基于WPF开源可视化编辑器教小孩编程的评论 (共 条)

分享到微博请遵守国家法律