之前與阿吉老師餐敘時,他提到對 Cube Solver 非常感興趣,希望能製作一套解魔術方塊的機器,期望以 NI 的 LabView 設計,這一點個人看法不同,雖然 LabView 功能強大,可以像 NXT-G 簡單設計 PC 程式,但是,不是每個人都買的起 LabView (最便宜的至少也要 NT 40000元)!成立研發養成所的目的,希望提供廉價或甚至免費的資訊給需要的人,讓參考過我的文章的人能獲取關鍵訊息,然後內化成自己的知識,爾後創作出好的作品,再分享給其他的人。
設計 Cube Solver 有很多種方法:
有 LEGO MINDSTORMS NXT 的玩家,可以由 NXT 顏色辨識到旋轉方塊解題,不限程式語言種類,以一個 NXT 程式全部包辦;也可以和電腦程式分工處理,就是 NXT 負責顏色辨識,將資料傳給 PC 程式計算解題,之後 PC 控制 NXT 轉動魔術方塊完成;沒有 NXT 的人可以寫純 PC 程式玩看看,反正重點在學程式設計,因此取得方便好用的程式工具,是學程式設計的第一步。
PC 程式語言百百種,功能用途不一也有難易分別,有想過在研發養成所貼 HTML 與 JavaScript 相關文章,就個人經驗,寫網頁程式難度比一般應用程式較難,因為必須先懂 HTML,然後再利用網頁程式控制頗為複雜,另外遇到不同瀏覽器,有些寫法會不同,因此它不適合入門程式設計領域。如果一般電腦只安裝 Microsoft Office,可以嘗試寫 VBA 但是也有缺點,它是 VB (Visual Basic) 的極精簡版很多功能被限制,想寫出 VB 原有的簡單功能,反而程式搞的更複雜,這會令入門者望之卻步。因此我推薦程式設計入門者用 Microsoft VB Express,它免費並且功能齊全,未來程式轉移至正版 VB 不用修改就可以使用。
想在 PC 上控制 NXT 執行 Cube Solver,有兩個重要控制項必備:通訊埠與計時器。以 JavaScript 設計須引用外部 DLL 的 ActiveXObject,我找不到微軟有官方技術發佈,這可能涉及網頁控制本機安全性問題,不過有 Third Party 提供解決方案但是要$$。VBA 這兩樣東西都沒提供,如果你決定用 VBA 搞程式,無論你是用 API 或是 OCX 來解決,都會讓你傷腦筋,而使用 VB Express 設計,不必煩惱這兩樣控制項。
未來幾篇文章,將指導各位如何以 VB 設計 Cube Solver,原則上我只提供釣竿教你釣魚,程式還是自己寫比較有趣,比較有成就感,學會這些關鍵技術,自己就可以像組合樂高積木設計出好玩的作品。
騎沈四傑2024年度總結
-
騎沈四傑指ichirou、馬拉錘、CEKU、cj6,由於ceku隱退,他的位置由jackchows頂替。 成員介紹
ichirou:facebook倉頡群組管理員,大馬倉友論壇管理員。I.明體作者。性情暴躁,智商偏低,因此常鬧笑話,多次摔跤。現已不敢隨便對倉頡規則發表意見。
馬拉錘:大馬倉友管理員,三代補完計...
3 天前
沒有留言:
張貼留言