一位程序員爸爸,基于WPF開源可視化編輯器教小孩編程
家人們,誰懂啊!現(xiàn)在的小破站知識區(qū)未免也太卷了吧。
前不久在知識區(qū)閑逛學習發(fā)現(xiàn)好幾個小學生在講算法。有個 6 歲小朋友用遞歸實現(xiàn)斐波那契數(shù)列,有個 8 歲小朋友講神經(jīng)網(wǎng)絡是怎么實現(xiàn)的,甚至還有個剛上五年級的小學生已經(jīng)有了 5 年的編程經(jīng)驗。你沒看錯,25 歲參加招聘,卻擁有 20 年編程經(jīng)驗的事正在發(fā)生。
實際上,這些你看著很“卷”的 Up 主,大都是從玩編程游戲開始培育興趣的。但有個難題是,并非每個初學者都能搞懂編程語言里嚴格的格式、語法及數(shù)據(jù)類型等。所以出現(xiàn)了許多輔助的工具,如圖形化編程等。
目前市面上最有名的圖形化編程引擎當屬 Blockly 以及其衍生的 Scratch、Makecode,許多知名的圖形化編輯工具和國內(nèi)編程教育機構工具大都基于 Blockly 或者 Scratch 操作。
今天,馬建倉給大家推薦一款由程序員父親為培育自己小孩入門編程,特意開發(fā)類似 Scratch 的可視化編程編輯器——
WPF-Blockly。
同時為了吸引更多人參與,共同讓這個項目更完善,這位程序員父親將此項目開源了。如果你也感興趣,復制下方項目地址,前往項目倉庫參與共建吧。
是個怎樣的項目?
項目作者:
weihuajiang
項目地址:
https://gitee.com/weihuajiang/WPF-Blockly
開源許可證:
MIT
WPF-Blockly?
不同于其他基于 Blockly 或 Scratch 開發(fā)的可視化編程工具,它是 由 WPF 和 .Net 共同實現(xiàn),因此目前該可視化編程編輯器只能運行在 Windows 上。
支持哪些功能?
功能支持
WPF-Blockly 支持所有代碼語法,例如變量、類型、局部變量、邏輯、循環(huán)、函數(shù)、參數(shù)、返回值和遞歸等。
功能特點
同時,它還面向?qū)ο缶幊毯湍K化編程,和真實的編程環(huán)境更加接近,因此可以制作類似 Scratch一樣的游戲,也可以使用更多算法和方式開發(fā)更加復雜的游戲。
支持面對對象編程
支持模塊化編程
此外,該圖形化編程工具還支持自定義語法,可以定制增加各種語法和語句,還支持代碼折疊、復制和粘貼、撤銷和重做等編輯方式,讓編輯方式更方便。
除了小游戲以外,WPF-Blockly 也可以將動態(tài)調(diào)度引擎整合到圖形編程中,制作一個實驗室自動化控制軟件。
如何操作?
自定義腳本編輯器
編寫自己的類實例;
將圖形腳本編輯器添加到窗口中;
設置圖形腳本編輯器的新工具欄;
為每個表達式和語句注冊顏色;
使用?Serialization.Load?和?Serialization.Save?方法從中加載腳本并將腳本保存到文件或文件流。
自定義語句與表達式的外觀
操作前,需繼承 Expression 或 Statement 類,重寫描述符或 BlockDescriptor 以自定義類的外觀。
如果有些語句只有一行,僅對語句使用描述符,在 BlockDescriptor 中什么都不寫。
對于復雜的語句,必須自定義 BlockDescriptor。
執(zhí)行語句與表達式
要編寫執(zhí)行表達式與語句,需要重寫 ExecuteImpl 函數(shù);如果要執(zhí)行其他表達式和語句,僅需調(diào)用 Execute 函數(shù)。
注意,ExecutionEnvironment 存儲變量的所有值,都可以在環(huán)境中注冊變量。
各位對自制編程游戲感興趣的初學者、程序員家長們,快來自己上手或指導小孩試著編寫一些小游戲,比如圍棋、國際象棋等,和 Gitee 共同探索編程的魅力吧。
如果你也開發(fā)了有意思的圖形化編輯器,搜索 “Gitee”或者復制鏈接,向 1000 萬開發(fā)者展示你的作品。
地址:https://gitee.com/enterprises
春日煥新:超值新人福利免費領
人間四月天,春光作序,美好在此發(fā)生。
值此時節(jié),Gitee 邀請您共赴一場春日煥新派對。
讓我們抓住春天的尾巴,即刻啟程,盡情暢游,一起探索創(chuàng)造簡單高效的研發(fā)管理方式。
凡
未購買過 Gitee 付費版本的企業(yè)
,活動期間購買任意套餐,即可領取大疆手機云臺穩(wěn)定器、SKG頸椎按摩儀、羅技G502hero電競鼠標、Redmi小米智能手環(huán)2等多重福利!購買多年時長還可以獲得復數(shù)禮品哦,快前往 Gitee 開啟春日煥新旅途吧。