[scratch教學心得] 幾個學生在迷宮遊戲切換關卡常見的錯誤

URL Link http://n.sfs.tw/10269

2016-11-22 14:23:48 By zfang

當電腦老師一直在幫學生抓錯,讓我想起"解彈簧"。彈簧打結只要0.1秒,解這個結卻可能要好久。

幫學生抓迷宮程式錯誤比解彈簧簡單,但是一個舉手就要搞很久,常常是得先了解他想做出什麼效果,什麼效果沒出現,然後再去幫他看是哪個地方出錯。

如果可以用找錯誤當電腦課考題應該很棒,例如故意拉掉或拉亂幾個積木,然後讓他們去找出問題。

這裡簡單記錄幾個學生常發生的問題~

 

鬼打牆一:時間怪怪的

真的怪怪的,一開始應該是"設定"   

 

鬼打牆二:球球不會碰到邊邊就反彈

不是不會判斷,而是忘了重複執行。

程式已經執行過一次偵測就結束了。搭配重複執行才會不斷地進行偵測。

鬼打牆三:第一關永遠出不來

學生說,第一關出不來,每次都變成第二關... 在一堆角色與程式中,終於看到這個...

問題在哪?

廣播第二關的位置!

拉進去"如果",就好了。

 

鬼打牆四:恐龍不會消失

學生在第一關做了一個恐龍,她讓恐龍會顯示隱藏,不過,第二關她要恐龍隱藏,恐龍怎樣也不肯消失!

怎麼辦?

就算第二關要求隱藏,主程式仍不斷重複執行著顯示隱藏。可以怎麼做?

我最後是這麼做,用變數來控制,停止主程式的顯示隱藏。

在這個程式中,恐龍滾蛋是上一關廣播時附帶的變數設定。

後來發現,如果這隻恐龍不再出現,可以這樣:

停止這個角色的其他程式就好了。

鬼打牆五:關卡不能切換,還在執行上一關動作

學生在不同關卡中使用了相同的主角與終點角色。當關卡變多時,就容易鬼打牆了。

下面是學生的狀況,在第二關時碰到終點,卻無法透過廣播訊息2切換第三關。

仔細看看,主角球球碰到終點,到底是廣播訊息1,還是訊息2呢?

球球分不清楚,因為身在第二關,卻可能還是執行第一關的任務。

在廣播下一關之後,加入"停止這個程式"就能改善。

小心得:

除錯,很累。但我的程度有一點進步,不過~真的就沒有時間寫自己的了。

醫生是不是也是這樣?忙著為病人醫治健康,卻沒有時間處理自己的呢?

通常幫學生調好後,我又會把加進去的程式拉掉,幫學生復原成原來的,讓他們自己操作。