2010年11月23日 星期二

Open Cobalt--3D虛擬世界網路平台

http://www.opencobalt.org/ http://en.wikipedia.org/wiki/Open_Cobalt 這個有趣的3D軟體,是我在找Squeak/Smalltalk相關資料時無意中發現的,可以讓使用者在3D虛擬世界裡,開啟各種應用軟體,或建立各式房屋人物工具等虛擬物件,這軟體跟Scratch一樣,底層也是跑Squeak虛擬機器 test.....

JNXT beta 1.1--My Scratch Mod我的小貓咪改裝版

請下載JNXT-beta-1.1.zip JNXT beta 1.1在解決馬達命令與Sensor命令同時發出時會互搶NXT連線導致程式鎖住,更改後的版本目前一邊用無窮迴圈更新感應器值,一邊發出馬達指令並不會有互相妨礙的情況,但是對超音波這種慢速感應器可能就要實際做個機器人測測看了

Scratch Mesh實驗

Scratch的內建Mesh功能啟動後,可以讓區域網路所有參與Mesh的Scratch程式共享變數,分享訊息,很適合撰寫多玩家線上遊戲,JNXT參考Panther的作法提供有關Mesh的指令積木,底下是Jimmy's爸爸在同一台電腦做的簡單實驗,有興趣的網友可以在多台電腦試試看 一開始分別開啟兩個JNXT應用程式,各設為王子及公主兩角色 將王子設為Mesh主機,公主設為Mesh加入者
寄件者 scratchlab
為王子新增一個名為'Message'的變數
寄件者 scratchlab
新增變數完成後,'Message'變數值會出現在王子的場景左上方,接著將'Message'值設為0
寄件者 scratchlab
滑鼠移至公主,點選Sensor value指令積木的選單,選單最後一項會出現'Message', 點選'Message'
寄件者 scratchlab
'Message'值會出現在公主場景的左上方,目前為0
寄件者 scratchlab
接著將王子這邊的'Message'值設為'I love you!!!'
寄件者 scratchlab
可以注意到公主這邊的'Message'值,也馬上更改為'I love you!!!' 實驗成功!!! 改天可以做一個簡易型的即時通訊,讓小喵咪偶而喵喵叫,通知Jimmy遊戲不要玩太久,呵呵
寄件者 scratchlab

2010年11月17日 星期三

JNXT beta 1--My Scratch Mod我的小貓咪改裝版

之前在BYOB開發NXT Block的專案,雖然很容易上手,輕輕鬆鬆的就做好指令Block,不過執行時很容易與NXT失去連線,所以除錯時或是給Jimmy玩時,總是要花上許多時間重新啟動程式,這時Jimmy這小傢伙總是不耐久候,便偷溜去看海綿寶寶卡通了 於是乎JNXT目前的版本先將之前在BYOB寫的NXT遠端控制功能移植過來,原先打算提供編譯 NXT bytecode成.rex執行檔的功能就從長再議了 老爸寫得很費心,希望Jimmy這小傢伙也玩得開心(專心) (老爸看Scratch官網討論區改Mod文章,看到眼球快脫窗) 也歡迎有興趣的網友到這裡JNXT-beta-1.zip 下載,幫我測試看看
寄件者 scratchlab

2010年11月9日 星期二

Squeak語法筆記--數字

這是Squeak(Smalltalk)有關數字的語法

| x |
x := 5 + 3.                                                 
x := 5 - 3.                                                 
x := 5 * 3. 
x := 5 / 3.                                                
x := 5.0 / 3.0.                                             
x := 5.0 // 3.0.                                           
x := 5.0 \\ 3.0.                                           
x := -5.                                                 
x := 5 sign.                                               
x := 5 negated.                                            
x := 3.14 integerPart.                                       
x := 3.14 fractionPart.                                      
x := 5 reciprocal.
x := 5 squared.                                           
x := 25 sqrt.                                             
x := 5 raisedTo: 2.                                       
x := 5 raisedToInteger: 2.                                
x := 10 exp.                                                 
x := -5 abs.                                            
x := 3.14 rounded.                                       
x := 3.14 truncated.                                       
x := 3.14 roundTo: 1.                                      
x := 3.14 truncateTo: 1.                              
x := 3.14 floor.                                           
x := 3.14 ceiling.                                        
x := 5 factorial.   
x := 99 atRandom.                                       
x := 360 degreesToRadians.                                
x := 3.14 radiansToDegrees.
下圖中的[run code]指令積木是我自己DIY的.專門用來跑Squeak code的,叔叔有練過的,小朋友不要亂試,右邊則是數字處理的結果List列表
寄件者 scratchlab

2010年11月7日 星期日

這個麥田圈也用Scratch Board通訊協定嗎?

最近Jimmy's爸爸看到電視上有人在介紹五月份出現在英國的麥田圈,Jimmy's爸爸也上網查了一下Crop Circle Connector,雖然那些麥田圈專家每個人解說得圖文並茂,覺得都講得有點道理,不過因為不久前我寫過Python程式去讀取Scratch Board丟出來的封包,怎麼看那個麥田圈的碼都有點像Scratch Board通訊協定的HighByte&LowByte組合,所以決定自己也來decode一下
寄件者 scratchlab
寄件者 scratchlab
寄件者 scratchlab
寄件者 scratchlab
寄件者 scratchlab
按下圖可以看到我用Scratch寫的簡報 Scratch Project

2010年11月4日 星期四

Squeak語法筆記--陣列

test....

LEGO WEDO 海龜爬行車

為了讓Jimmy更了解齒輪變速箱的原理,於是做了個模仿海龜爬行的車車,馬達運轉時Jimmy問我為什麼跑得那麼慢啊,我趁機叫他觀察變速箱中不同齒輪的轉速還有傳動的方向 寫著寫著,忽然想起Jimmy幾個星期前,用LEGO WEDO馬達做一個簡單的螺旋槳,然後將Scratch的馬達動力指令設為100000000000000000..........,還一手舉高螺旋槳,我問他在做什麼?他說想要飛上天空,我還笑著說你要學海棉寶寶的比奇堡鳥人那一集嗎?心裡想著,還好這只是玩具而已.....
寄件者 scratchlab

2010年11月1日 星期一

Squeak語法筆記--字串

這是Squeak(Smalltalk)有關字串的語法

|x y |
x := 'This is a string'.
x := 'This is a string' , 'not a symbol'.
y := x isEmpty.
y := x size.
y := x at: 2.
y := x copyFrom: 11 to: 15.   
y := x indexOf: $a ifAbsent: [0].
x := String new: 3.
   at: 1 put: $a;
   at: 2 put: $b;
   at: 3 put: $c;
x := String with: $a with: $b with: $c with: $d.  
y := x select: [:a | a > $a]. 
y := x asArray.
y := x shuffled.
下圖中的[run code]指令積木是我自己DIY的.專門用來跑Squeak code的,叔叔有練過的,小朋友不要亂試,右邊則是字串處理的結果List列表
寄件者 scratchlab

建構中的Jimmy.....

最近在嘰哩呱啦ACE看到建構論與建造論應用於人工形態組合學習之研究這篇文章

文章裡頭提到

"兒童們要從與環境的互動中去發現知識,並建構自己的知識。皮亞傑認為,兒童並不是被動的學習者,他們在學習的過程中會建構自己的認知系統,兒童是主動的學習者,他們會創造自己的理解,意義化自己的學習,也只有這樣的學習才是有意義的學習方式,也才能持久。......" "(1)教學總是間接的。學生們不會立即接受所聽到的,他們會用自己的知識及經驗來加以詮釋,他們也會轉化所接受的訊息。(2)人類溝通的轉化模式不是單向的。對皮亞傑而言,知識不單只是從傳送的那一端傳送出去,並由另一端加以編碼、記憶、回溯並加以應用;知識應該是藉由與他人、世界與事物的互動而產生的經驗........." "社會建構論者引用鷹架理論,他們認為兒童就如同正在建築中的建築物,需要鷹架的支持,才能繼續建造新能力與創造更多的發展空間,....必須運用各種策略爲兒童搭建學習的鷹架,以引導兒童理解概念。 "
回顧Jimmy出生到現在,所用的知識鷹架.... 爬爬期: 畢達哥拉斯的開關(NHK兒童節目單元) 推堆骨牌遊戲 (我每次看到骨牌依序一塊塊倒下,就好像程式碼在做單步執行,心裡就很興奮,所以我都會不厭其煩地排給Jimmy看,不過那小傢伙總是趁我不注意時從中破壞,然後看到我憤怒的表情就笑得樂不可支) 小手蓋城堡期: 大積木蓋城堡(我會把積木蓋的像高雄85大樓一樣高高的,跟他比賽誰做的比較堅固,然後互相用輕塑膠球K對方的城堡,同時用塑膠地墊建立防禦工事,誰的城堡垮了就停戰做後續補強) 掌握滑鼠期: 企鵝畫畫(Tux Paint) 拉線路電風扇轉轉遊戲(CircuitLab好像是這個名字,遊戲提供AND OR NOT XOR等邏輯閘,不過此時Jimmy似乎只對把線路拉得一團亂有興趣) Bloxorz(一個可以讓Jimmy動動腦筋邏輯推理的3D遊戲,不過後來他接觸其他遊戲後就對它興趣缺缺了,我期待他能破到第46關的希望落空) (這時期的Jimmy似乎認為,現實世界等同於電腦遊戲世界,凡事都可以重來.....) flah遊戲玩到爆期: 氣球到城堡 甲蟲養成 海綿寶寶卡通 機器人時期: Scratch LEGO WEDO NXT Ben10卡通 (未完......)