2015年11月5日 星期四

拚命玩遊戲就能學寫程式! CodeCombat 還有中文版


「遊戲化學習」是這幾年的教育熱潮之一,雖然說讓上課變得更生動有趣、更多好玩互動本來就是自古以來的通則,但透過網路與數位技術的進步,我們有更多新鮮工具與互動方法可以應用到學習上。例如在電腦玩物就整理過一篇:「值得嘗試!10 款遊戲化學習 App 讓你更喜歡面對挑戰」。


而今天要介紹的「 CodeCombat 」這個線上網站,或者說「線上遊戲」,則是要讓初學者透過玩遊戲來學習寫程式,而且他有完整的繁體中文內容,不需要任何寫程式的經驗,小學生就能上手,在有趣的奇幻世界與戰鬥關卡中學會各種程式的基本技巧。
「 CodeCombat 」創立於 2013 年,並且是一個開放原始碼專案,所以很快地就擁有了世界各國語言版本,包含繁體與簡體中文,關卡數量、可學習程式語言也持續增加,目前已經擁有 110 多個免費的關卡,能夠學習 Python、 JavaScript、 Lua、 CoffeeScript、Clojure 等不同程式語言,這些語言能夠運用到遊戲設計、網頁應用、 App 的開發上。

1. 學任何東西都不應該無聊:玩程式,學程式


當你打開「 CodeCombat 」網站,你不會覺得這是一個讓你看不懂的程式碼學習網站,因為他的網站外觀看起來就像是一個魔獸爭霸風格的線上遊戲,而且當你實際玩玩看,你會發現過程真的就是英雄要去打怪、尋寶與解謎,只是搭配了程式語言的學習。
雖然我們無法期待初學者玩過「 CodeCombat 」後就能直接成為程式工程師,但是在整個遊戲的過程中,我們還是能夠學會每種程式語言的基本語法、邏輯架構、設定變量。
所以「 CodeCombat 」自稱是設計給 9 歲以上想要學習程式碼的學生來練習的遊戲,因為遊戲幫助我們快速熟練,如果在課堂上還搭配老師的講解,就更能事半功倍。



2. 循序漸進的遊戲學習關卡


「 CodeCombat 」甚至連上手都非常簡單,完全不需要額外指導,任何玩過遊戲的朋友也一定都能立刻開始遊戲,也能從中學習到各種程式語言的基礎。

我們用 Google 或 Facebook 就能登入「 CodeCombat 」,這時候要挑選一位英雄,並選擇自己想要學習的程式語言。


接著在幾個遊戲大章節中,我們將會一步一步從基礎語法開始,到相對複雜的變量設定,把這個程式語言邏輯循序漸進的理解。


而章節裡就是一個一個遊戲關卡,但每一場小戰役,都是精心設計的一個程式語言小技巧。
到這裡為止,相信沒有人會覺得有任何難度,任何人一定都能進入。



3. 各種武器道具就是你學會的程式指令


而在「 CodeCombat 」中最大的不同就是把遊戲裡的命令操作、武器道具都變成程式語言的指令,我可以使用語法去攻擊敵人,或是當我獲得技能寶典時可以學會讓程式自動迴圈的新指令。
於是我就能在打怪、尋寶的過程中,慢慢理解每個程式語法的作用。



而且完全不懂程式碼的朋友也不要擔心。

因為「 CodeCombat 」並非是要考驗你遊戲技巧的遊戲,所以他的關卡裡都有非常詳盡的提示,會教你怎麼輸入程式語言來命令角色行動,當你輸入錯誤時,也有清楚的提示教你為什麼這樣的語法會出錯。
這些引導全部都有中文化。



於是在簡單幾關的過程中,很快的我們就知道程式指令的邏輯,怎麼設定一連串互相引發的行為,怎麼命令對某個物件產生行動等等。

後面就會有愈來愈複雜的命令方式,這讓你學會程式語言概念,也可以用來熟練程式語言的輸入,或是懂得怎麼設計出更有效的程式碼。

因為關卡也有不同的成就等級,如果可以用更精簡的指令完成動作,可以獲得更高分。



4. 多人連線練習與老師學生部落


更進一步的,在自學程式語言之外,「 CodeCombat 」還設計了團隊學習程式語言的模式。
在「多人連線」中,我們可以根據不同難度來跟全世界學習程式的朋友進行連線對戰,例如一個簡單對戰中我們要比誰可以更快輸入一連串指令,在戰鬥中讓自己存活更久。


而在「部落」模式中,老師可以開設一個社團讓學生加入,這樣一來可以觀察社團中每一個人的學習進度,並且互相激勵。

你也想開始學寫程式嗎?或者你想要帶學生一個練習寫程式?那麼完全中文化的「 CodeCombat 」,或許是一個玩遊戲學程式的好選擇。

延伸閱讀相關文章:
  1. PhET 科學實驗互動模擬教學,免費中文教材破億下載
  2. HabitRPG 教學:把養成好習慣設計成好玩的生活遊戲
  3. 從這款桌遊學會人生的「目標管理」為什麼很重要?
「 CodeCombat 」網站

資料來自電腦玩物原創作者 esor huang(異塵行者),及附上原文連結:拚命玩遊戲就能學寫程式! CodeCombat 還有中文版

沒有留言: